Wpadłem na kod (nowy kod), który używa tego, co nazywam „macierzami równoległymi” lub listami. Oznacza to, że istnieją 2 tablice, które zawierają powiązane dane i są powiązane ich pozycją (indeksem) w tablicy.
Uważam to za mylące i podatne na wszelkiego rodzaju błędy. Rozwiązaniem, które zwykle proponuję, jest utworzenie obiektu wywoływanego Company
z polami CompanyId i CompanyName.
Bardzo prawdziwy przykład:
List<string> companyNames;
List<int> companyIds;
//...They get populated somewhere and we then process
for(var i=0; i<companyNames.Count; i++)
{
UpdateCompanyName(companyIds[i],companyNames[i]);
}
Czy te równoległe tablice są uważane za złą praktykę ?