Ceci est mon code:Comment puis-je vérifier les valeurs extraites de cette requête Linq en tant que .ToLower()?
DataRow r = VirtualTable
.AsEnumerable()
.FirstOrDefault(tt => (tt.Field<string>("Column1") == value1) ||
(tt.Field<string>("Column1") == value2));
Ce code récupère une ligne de données dont 'Column1' correspond à une chaîne donnée. Je vérifie alors ceci contre une déclaration de bool si. Cependant, bien que je puisse changer la capitalisation de ma chaîne, je ne sais pas comment la gérer avec la valeur que Linq me donne. J'apprends encore linq, donc je ne connais pas encore mon chemin. En bref, j'ai la chaîne "Red box" dans la table, mais je veux qu'elle soit lue comme "boîte rouge" donc elle correspondra à ma chaîne interne de même valeur.
En outre, j'essayais de récupérer le IndexOf
la ligne que cette requête me donne, mais je récupère toujours un -1 même s'il trouve une correspondance.
Voici le code pour le récupérer:
int SelectedIndex = VirtualTable.Rows.IndexOf(r);
'.FirstOrDefault (tt => (tt.Field ("Colonne1") ToLower() == valeur1)' –
Nino
pourquoi ne pas utiliser 'tt.Field (" Colonne1 "). ToLower() ==" boîte rouge "'? –
HimBromBeere
Qu'est-ce que 'VirtualTable'? Pourquoi utilisez-vous' AsEnumerable() '? Si vous avez utilisé EF, la comparaison de chaînes Pour l'instant, vous pouvez utiliser 'String.Equals' avec une option insensible à la casse –