J'essaie d'utiliser LINQ pour retourner une liste de tâches qui se trouvent dans l'un des trois états. Ces états sont les suivants:C# - LINQ Déclarations avec les clauses OR
10 - Terminé 11 - incomplet 12 - Ignoré
L'état est disponible dans une propriété appelée "TaskStateID". Je peux le faire dans LINQ avec juste un état comme indiqué ici:
var filteredTasks = from task in tasks
select task;
// Do stuff with filtered tasks
string selectedComboBoxValue = GetFilterComboBoxValue();
if (selected ComboBoxValue == 3)
{
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10); // How do I use an 'OR' here to say p.TaskStateID == 10 OR p.TaskStateID == 11 OR p.TaskStateID == 12
}
Comme le montre le commentaire ci-dessus, comment puis-je utiliser un « OU » dans une déclaration LINQ dire p.TaskStateID == 10 OU p .TaskStateID == 11 OU p.TaskStateID == 12?
Merci
+1 pour la maintenabilité! –
Tant que vous mettez l'opérateur lambda au bon endroit ... oh, et rappelez-vous que cela va créer une fermeture. –
Vous pouvez également utiliser uniquement Contient avec des chaînes. – Hemslingo