Функции именования, определяющие диапазоны - PullRequest
2 голосов
/ 14 марта 2012

Этот вопрос немного самоуверенный, но я хотел немного узнать.У меня есть два статических метода для создания диапазонов в списке.Я могу определить диапазон в терминах индекса запуска и остановки или в терминах индекса и счетчика.Вот имена, которые у меня есть:

public static Range FromStartAndStopIndex(int startIndex, int stopIndex);
public static Range FromIndexAndCount(int startIndex, int count);

Я думаю, что эти имена слишком длинные, но, по крайней мере, нет никакой двусмысленности.Я уверен, что есть другие библиотеки, которые определяют диапазоны в списке.Мне любопытно, какие имена они использовали для определения диапазонов по-разному.

1 Ответ

5 голосов
/ 14 марта 2012

.NET стремится использовать индекс и счет.Например:

  • String.Substring
  • Enumerable.Range
  • Stream.Read
  • Array.Copy
  • (Большинствоуместно, наверное) ArraySegment<T>

Я бы с этим согласился и поддержал только одну модель.Помимо всего прочего, когда у вас есть «конечный» параметр, вам нужно сказать, является ли он включающим или исключающим.(Это почти всегда должно быть исключительным, но это что-то еще для пояснения.)

С другой стороны, SortedSet.GetViewBetween обязательно принимает нижнюю и верхнюю границы.Это несколько иное.

...