Я следующий список:Список выбора диапазона объектов на основе стоимости недвижимости
List<MyType> myList = new List<MyType>
{
new MyType {Key = "aa", Value = "test1"},
new MyType {Key = "bb", Value = "test2"},
new MyType {Key = "zz", Value = "testzz"},
new MyType {Key = "cc", Value = "test3"},
new MyType {Key = "yy", Value = "testyy"},
new MyType {Key = "dd", Value = "test4"},
new MyType {Key = "ee", Value = "test5"}
};
где
public class MyType
{
public string Key { get; set; }
public string Value { get; set; }
}
Теперь я хотел бы получить все объекты в пределах диапазона на основе значения Ключа. То есть, я хотел бы, чтобы выбрать все объекты из списка, начиная с Key = «бб» в Key = «дд» (не алфавитный заказа), так что я должен был бы следующий результат:
new MyType {Key = "bb", Value = "test2"},
new MyType {Key = "zz", Value = "testzz"},
new MyType {Key = "cc", Value = "test3"},
new MyType {Key = "yy", Value = "testyy"},
new MyType {Key = "dd", Value = "test4"}
Как могу ли я достичь этого с помощью выражения linq/lambda?
[Обновить: 12/30/2015]: Ключ НЕ заказывается в алфавитном порядке, и могут быть сотни ключей. Таким образом, решения, включающие list.Contains (..) и предполагающие алфавитный порядок, не будут работать. Я также обновил пример, чтобы включить объекты с ключами «yy» и «zz», чтобы отразить их.
Как разнообразны могут ваши критерии быть на самом деле? Всегда ли они в диапазоне или могут быть полностью непересекающимися? В зависимости от этого могут быть разные ответы. – ChrisF