Un ami m'a demandé comment améliorer du code avec LINQ. Comment feriez-vous une comparaison caractère par caractère entre deux chaînes pour compter le nombre de correspondances à un index? Voici le code original, pourrait-il être amélioré avec LINQ?Compter les caractères correspondants entre deux chaînes à l'aide de LINQ
private int Fitness(string individual, string target)
{
int sum = 0;
for (int i = 0; i < individual.Length; i++)
if (individual[i] == target[i]) sum++;
return sum;
}
Nécessaire de faire Longueur-1 puisque les tableaux sont basés sur zéro –
Le deuxième argument de 'Range' est le compte, pas le dernier élément. –
C'est pourquoi vous devez faire Longueur-1. Vous obtiendrez une "exception d'index hors plage" lorsque vous évaluez individuellement [longueur_individuelle]. par exemple. Si la longueur du tableau est 1 alors le seul élément est foo [0], et foo [1] n'existe pas. –