Mi sono imbattuto nel codice (nuovo codice) che utilizza ciò che chiamo 'Parallel Arrays' o Lists. Significa che ci sono 2 array che contengono dati correlati e sono collegati dalla loro posizione (indice) nell'array.
Considero questo confuso e incline a tutti i tipi di errori. La soluzione che normalmente propongo è quella di creare un oggetto chiamato Company
con i campi CompanyId e CompanyName.
Un esempio molto reale:
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]);
}
Queste matrici parallele sono considerate cattive pratiche ?