Member 14169626 Ответов: 2

Как linq содержит список строк в C#?


строковая переменная=“ “;

foreach(var item in IDList)
{
переменные += элемент.Идентификационный код+”,”;
}

Я хочу, чтобы переменные использовали лямбда-выражение, но переменные получают список 1,2,3,4.

var t=mystudent.tablea.where(x=>x.Id.содержит(переменные).Список();

Но этот код не работает id value is 0.я хочу, чтобы значение 4.

Что я уже пробовал:

var t=mystudent.tablea.where(x=>x.Id.содержит(переменные).Список();

2 Ответов

Рейтинг:
2

Maciej Los

Попробовать это:

int[] ids= new int[]{1, 2, 4};
var t=mystudent.tablea.Where(x=> ids.Any(y=>y == x.Id)).ToList();


Wendelius

В 5

Maciej Los

Большое спасибо, Мика.

Рейтинг:
0

jsc42

Попробуйте Погуглить

linq equivalent of sql 'in'
и посмотрите на результат переполнения стека.
В принципе, я думаю, что у вас есть тест задом наперед. Вы хотите посмотреть, содержит ли ID одно значение, которое является строкой сцепленных значений, - это не так, оно содержит только одно значение. Вы хотите увидеть, если ... список (большая подсказка здесь) значений содержит единственное значение, которое вы ищете.