J'essaie de faire ci-dessous où condition
est vrai, je veux exécuter WHERE
sinon non.
var condition = true;
var mast = new List<Master>
{
new Master{Id = 2, Prop1 = "Default", Prop2 = "Data", Prop3 = 11},
new Master{Id = 3, Prop1 = "Some", Prop2 = "TestData", Prop3 = 11},
new Master{Id = 4, Prop1 = "Some", Prop2 = "MoreData", Prop3 = 11},
};
var g = mast.Where(w=> condition ? (x => x.Prop1.ToLower() != "default" || x.Prop2.ToLower() != "data") : true = true).ToList();
Au-dessus du code me donnant une erreur,
Le type d'expression conditionnelle ne peut pas être déterminé car il n'y a pas de conversion implicite entre 'expression lambda' et 'bool'
Déplacez simplement la condition dans le lambda:
var g = mast.Where(w => (condition
? (w.Prop1.ToLower() != "default" || w.Prop2.ToLower() != "data")
: true)
).ToList();
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots