У меня есть массив определенного типа. Теперь я хочу найти запись, в которой выполняется определенное условие.Array.BinarySearch, где выполняется определенное условие
Каков предпочтительный способ сделать это с ограничением, что я не хочу создавать временный объект для поиска, но вместо этого хочу только задать условие поиска.
MyClass[] myArray;
// fill and sort array..
MyClass item = Array.BinarySearch(myArray, x=>x.Name=="Joe"); // is this possible?
Возможно, возможно ли использовать LINQ для его решения?
EDIT: Я знаю, что он работает с обычными коллекциями, но мне нужно, чтобы он работал для BinarySearch.
первый из них не является бинарным. второй создает временный объект для поиска, который я не хочу создавать, как я сказал в вопросе. – codymanix
Извините. Я неправильно понимаю ваш вопрос как не желающий создать временный массив. Я думаю, что ваше ограничение на создание временного объекта ошибочно, так как оно облегчает решение. В противном случае вам нужно создать более сложный компаратор, который может сравнивать объект MyClass с строкой. – tvanfosson
@codymanix - note Я обновил свой ответ с помощью сопоставителя строки/MyClass, который, как я думаю, соответствует вашим требованиям, за исключением того, что использует временный строковый объект. :-) – tvanfosson