Это работает только с 64-разрядной версией Java. Перейдите в Панель управления и щелкните значок Java. В маленьком окне панели управления Java нажмите на панель меню Java, а затем нажмите кнопку view
.
Если у вас две платформы Java, отключите предыдущую версию Java, затем нажмите Параметры времени выполнения и запись -Xmx1024m
или меньше, чем размер ОЗУ. Не увеличивайте размер кучи, равный ОЗУ, иначе ваша система выйдет из строя.
Используйте оператор OR
(||):
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10 ||
p.TaskStateID == 11 ||
p.TaskStateID == 12);
Очень просто: вы используете логические ИЛИ.
filteredTasks.Where(p => p.TaskStateID == 10 || p.TaskStateID == 11 || p.TaskStateID == 12)
C # лямбды не используют подмножество языка C #: они используют весь язык. Все возможное в C # доступно лямбдам. Единственное требование - выражение должно возвращать правильный тип; и даже тогда вы можете использовать фигурные скобки, чтобы охватить более сложный код:
p => { /* code block that has a return statement here */ }
var taskIds = new[]{10, 11, 12}
var selectedTasks = filteredTasks.Where(p => taskIds.Contains(p.TaskStateID))
Самый простой способ:
.Where(p => p.TaskStateID == 10 || p.TaskStateID == 11 || p.TaskStateID == 12)
Или вы также можете сделать что-то вроде этого:
var states = new int[] {10,11,12};
filteredTasks = filteredTasks.Join(states, p => p.state, s => s, (p, s) => p);
filteredTasks.Where(p => (p.TaskStateID == 10 || p.TaskStateID == 11 || p.TaskStateID == 12))
Используйте оператор условного ИЛИ :
filteredTasks = filteredTasks.Where(p => p.TaskStateID == 10 ||
p.TaskStateID == 11 ||
p.TaskStateID == 12);