Есть ли эквивалент для ActiveRecord # find_by эквивалент для C #? - PullRequest
0 голосов
/ 05 апреля 2010

Я изначально разработчик C # (как хобби), но в последнее время я копался в Ruby on Rails и действительно наслаждался этим. Прямо сейчас я создаю приложение на C #, и мне было интересно, есть ли какая-либо реализация коллекции для C #, которая могла бы соответствовать (или "частично соответствовать") методу find_by ActiveRecord.

По сути, я ищу список, который будет содержать Rectangles:

class Rectangle
{
    public int Width { get; set; }
    public int Height { get; set; }
    public string Name { get; set; }
}

Где можно запросить этот список и найти все записи с Height = 10, Width = 20 или name = "Block". Это было сделано с ActiveRecord, выполнив вызов, подобный Rectangle.find_by_name('Block'). Единственный способ, которым я могу думать об этом в C #, - это создать собственную реализацию списка и выполнить итерацию каждого элемента вручную, проверяя каждый элемент на соответствие критериям. Боюсь, я бы заново изобрел колесо (и одно из худших).

Я не обязательно пытаюсь соответствовать соглашению об именах find_by_..., но скорее для того, чтобы использовать функциональность метода.

Любой вклад или предложения приветствуются.

1 Ответ

2 голосов
/ 05 апреля 2010

«Методы Linq», а именно Где , которые были добавлены в .NET 3.5, очень близки к тому, что вы ищете.

myCollection.Where(r => r.Name == 'Block')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...