Comment utiliser une instruction if pendant sélectionnez à partir de Linq to jeux de données
J'ai cette LINQ déclaration
Dim Demo = From d In DBDataTable.AsEnumerable _
Select id = d.Field(Of Integer)("id"), _
Column = d.Field(Of Object) (_column2), _
Col3 = d.Field(Of Object)(_column3), _
Col4 = IIf(_Col4 <> -1, d.Field(Of Object)(_Col4), Nothing)
Est-il possible que je peux l'utiliser si/iif dans les sélectionner ?
Il n'est pas utilisé si des instructions à l'intérieur de la partie select. Généralement, une clause where est suffisant. Pouvez-vous décrire pourquoi un 'si' énoncé est requis dans la sélection? Je ne comprends pas ce que votre code est en train de faire.
Eh bien, j'ai besoin de vérifier la Datacol valeur de l'indice de qui je suis de calculer dynamiquement et je dois d'Abord vérifier la valeur si elle n'est pas -1, alors seulement j'ai besoin d'appliquer une valeur de l'indice de datatable sinon, elle retourne la colonne -1 ne trouve pas dans la source de données
Eh bien, j'ai besoin de vérifier la Datacol valeur de l'indice de qui je suis de calculer dynamiquement et je dois d'Abord vérifier la valeur si elle n'est pas -1, alors seulement j'ai besoin d'appliquer une valeur de l'indice de datatable sinon, elle retourne la colonne -1 ne trouve pas dans la source de données
OriginalL'auteur Learner | 2009-12-14
Vous devez vous connecter pour publier un commentaire.
[Ceci est un résumé de la discussion de la question des commentaires.]
Votre code ne fonctionne pas depuis
IIf
toujours évalue à la fois la vrai et la faux partie. Ainsi, dans l'évaluationd.Field(Of Object)(_Col4)
va lever une exception si_Col4 = -1
.Au lieu de cela, utiliser
If(condition, true, false)
, qui fonctionne comme C#'scondition ? true : false
opérateur et évalue seulement le vrai ou la faux partie, selon condition. Donc, votre code doit lire:OriginalL'auteur Heinzi