2015-08-20 9 views
0

У меня есть строка кода, который выглядит, как этотКакую структуру данных я могу использовать здесь?

var results = DataBase.Find(x.ImportanceFactor > 5 && x.ImportanceFactor < 10); 

Сейчас в функции Find, какие структуры данных я могу использовать?

public static int Find(??? input) 
{ 
: 
Some Code 
: 
} 

Формат должен быть точно, как я указано выше, но я с трудом найти структуру данных, чтобы поддержать его. Я пробовал ряд выражений в Linq.

EDIT Для Разъяснения:

Find функции будет идти в базу данных и искать объект, значение которого находится в пределах указанного диапазона, и вернуться в зависимости от того объекта в этом диапазоне имеет максимальное значение размера. Опять же, эта первая строка не может быть изменена каким-либо образом, независимо от того, что происходит в функции «Найти». Линия ниже должна быть доступна в Find

x.ImportanceFactor > 5 && x.ImportanceFactor < 10 

EDIT2:

Х представляет собой динамическое выражение, не является объектом со свойствами.

+0

Слышали ли вы о методе расширения '' '' 'пространства имен System.Linq? –

+0

'Func '? Хотя, основываясь на примере использования, похоже, что это будет просто «bool». – David

+0

Нет, и с быстрым взглядом синтаксические швы будут разными. – user2824991

ответ

1

Это:

x.ImportanceFactor > 5 && x.ImportanceFactor < 10 

просто bool:

public static int Find(bool input) 

Но учитывая использование x в таком состоянии, я подозреваемый вы на самом деле имел в виду следующее:

var results = DataBase.Find(x => x.ImportanceFactor > 5 && x.ImportanceFactor < 10); 

В этом случае вы глядя на что-то структурно очень похожее на такие методы, как Any() или Where()on IEnumerable<T>. Это будет использовать что-то более похожее Func<T, bool>:

public static int Find<T>(Func<T, bool> input) 
+0

Я увлекался оригинальным вопросом.Я не указал, что x является динамическим выражением, а не объектом с параметрами. Я в принципе хочу, чтобы {x.ImportanceFactor> 5 && x.ImportanceFactor <10} был доступен в методе поиска – user2824991

+1

@ user2824991: Вот что такое 'Func <>'. Это выражение, которое может быть выполнено в методе «Найти()». – David

+0

.Find (System.Func ) 'не может быть выведен из использования. Попробуйте явно указать аргументы типа. То, что я получаю – user2824991

Смежные вопросы