Как использовать LINQ Contains (строка []) вместо Contains (строка) - PullRequest
85 голосов
/ 12 октября 2008

У меня один большой вопрос.

Я получил запрос linq, чтобы он выглядел просто так:

from xx in table
where xx.uid.ToString().Contains(string[])
select xx

Значения массива string[] будут такими числами, как (1,45,20,10 и т. Д.)

Значение по умолчанию для .Contains равно .Contains(string).

Мне нужно сделать это вместо этого: .Contains(string[]) ...

РЕДАКТИРОВАТЬ: Один пользователь предложил написать класс расширения для string[]. Я хотел бы узнать, как, но кто-нибудь готов указать мне в правильном направлении?

РЕДАКТИРОВАТЬ: UID также будет число. Вот почему он преобразуется в строку.

Помогите кому-нибудь?

Ответы [ 21 ]

0 голосов
/ 04 августа 2010

Я верю, что вы действительно хотите: давайте представим сценарий у вас есть две базы данных и у них есть общая таблица продуктов И вы хотите выбрать продукты из таблицы «А», идентификаторы которых совпадают с «В»

Использование метода содержит слишком сложно, чтобы сделать это то, что мы делаем, это пересечение, и для этого есть метод, называемый пересечением

пример из msdn: http://msdn.microsoft.com/en-us/vcsharp/aa336761.aspx#intersect1

int [] numbers = (0, 2, 4, 5, 6, 8, 9); int [] numbersB = (1, 3, 5, 7, 8); var = commonNumbers numbersA.Intersect (numbersB);

Я думаю, что то, что вам нужно, легко решается с помощью пересечения

...