2012-03-14 92 views
2

這個問題有點固執,但我想要一些輸入。我有兩種用於在列表中創建範圍的靜態方法。根據索引和計數,我可以根據啓動和停止索引來定義範圍。這裏是我到目前爲止的名字:命名函數定義範圍

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

我覺得這些名字太長了,但至少沒有歧義。我確信還有其他庫在列表中定義範圍。我很好奇他們用什麼名字以不同的方式定義範圍。

+0

我會使用從而不是開始和停止,但除了它是好的。 – 2012-03-14 13:32:57

+2

通常,庫定義一個或另一個。例如列表 GetRange()方法需要一個開始和一個計數。否則就會有太多的含糊之處。 – 2012-03-14 13:34:13

+0

我認爲這個名字很長很混亂。總是想着其他人 – 2012-03-14 13:34:31

回答

5

.NET 傾向於使用索引和計數。例如:

  • String.Substring
  • Enumerable.Range
  • Stream.Read
  • Array.Copy
  • (最相關,最有可能)ArraySegment<T>

我會去的這一點,只支持一個模型。除此之外,當你有一個「結束」參數時,你需要說明它是包容還是獨佔。 (它應該幾乎總是排他的,但它是另外一個要澄清的東西。)

另一方面,SortedSet.GetViewBetween必然有上下界。雖然這有點不同。