Я запутался после прочтения документации о том, чего ожидать при использовании Linq с SortedList.
https://msdn.microsoft.com/en-us/library/ms132319(v=vs.110).aspx
Я предполагаю, что перечисление гарантированно будет отсортировано, а также извлечено по индексу, но как насчет значений и ключей? Все эти случаи безопасны?
var list = new SortedList<DateTime, object>();
//add entries here ...
var firstValue1 = list.Values[0];
var firstValue2 = list.First().Value;
var firstValue3 = list.Values.First();
var firstKey1 = list.Keys[list.Count-1];
var firstKey2 = list.First().Key;
var firstKey3 = list.Keys.First();
var sortedList = list.Where(x => x.Key > DateTime.Now)
.Select(x => x.Value);
.First().Value
для меня так же хорошо, как случайность. - person EpicKip   schedule 09.05.2017.First()
, никогда не говорит вам, что вы получаете. Я бы предпочел всегда говорить, что я ищу, и использовать.First()
только в том случае, если мне просто нужен элемент для тестирования или что-то в этом роде. - person EpicKip   schedule 09.05.2017.OrderBy(x=>x.Thing).First()
? - person Chris   schedule 09.05.2017SortedList
, скажите это. Говорить, что использованиеFirst
дает вам случайный элемент, когда это объективно не делает это, просто неверно. Сказать, что вам не нравится дизайнSortedList
(и упорядоченных коллекций в целом, судя по его звучанию) и то, что он делает с вашим кодом, - это вопрос мнения, которого вы более чем можете придерживаться. - person Servy   schedule 09.05.2017someList.OrderyBy(x => x.Something).First()
, я могу сказать в этой строке, по какой сортировке идет, если я вижуsomeList.First()
, я не могу - person EpicKip   schedule 09.05.2017