3 回答
TA貢獻2037條經驗 獲得超6個贊
Length() 傾向于引用連續的元素 - 例如,字符串具有長度。
Count() 傾向于指寬松集合中的元素數量。
Size() 傾向于引用集合的大小,通常這可能與向量(或字符串)之類的長度不同,字符串中可能有10個字符,但存儲保留為20.它也可以指數量元素 - 檢查源/文檔。
Capacity() - 用于專門引用集合中的已分配空間,而不是其中有效元素的數量。如果type同時定義了“capacity”和“size”,那么“size”通常指的是實際元素的數量。
我認為主要的觀點是人類語言和習語,字符串的大小似乎不是很明顯,而一組的長度同樣令人困惑,即使它們可能用于指代相同的東西(元素的數量) )在一組數據中。
TA貢獻1830條經驗 獲得超3個贊
FWIW(而且幾乎沒有任何東西),我更喜歡'Count',因為它似乎表明它將非常明確地返回集合中元素/項目的數量。
當面對“長度”或“大小”這個術語時,我常常想知道片刻(或甚至被迫重新閱讀文檔)是否該死的東西會告訴我有多少元素在集合中或如何集合消耗的許多字節。對于打算像數組或字符串一樣具有連續性的集合尤其如此。
但是,沒有人負責Java,BCL / .Net或C / C ++標準框架/庫所使用的命名約定,這些都很困擾我,所以你們都會遇到他們提出的問題。
如果只有我比我更聰明并被命名為Bjarne,你們所有人都可能幸免于難......
當然,回到現實世界中,您應該嘗試堅持使用您正在使用的語言/平臺的任何命名約定(例如,size()在C ++中)。并不是說這似乎可以幫助你解決Array.Length困境。
TA貢獻1111條經驗 獲得超0個贊
這些術語在某種程度上可以互換,但在某些情況下,我更喜歡一個而不是另一個。通常,如果你想一下,你可以得到最好的用法你如何口頭描述這個元素的長度/大小/數量給另一個人?。
length()暗示元素具有長度。字符串有一個長度。你說“一個字符串長20個字符”,對吧?所以它有一個長度。
size()暗示元素具有大小。例如,文件的大小。你說“這個文件大小為2 MB”,對吧?所以它有一個大小。
也就是說,一個字符串也可以有一個大小,但我希望在這里有別的東西。例如,UTF-16字符串可能有100個字符的長度,但由于每個字符由兩個字節組成,我希望大小為200。
count()很不尋常。Objective-C使用count表示數組中的元素數。有人可能會爭辯說,如果一個數組有一個長度(如在Java中),有一個大?。ㄅc大多數其他語言一樣)或有一個計數。但是,大小可能再次是字節大?。ㄈ绻麛到M項是32位int,每個項目是4個字節)和長度...我不會說“一個數組是20個元素長”,這聽起來很奇怪我。我會說“數組有20個元素”。我不確定count是否表達得非常好,但我認為count在這里是一個簡短的形式,elementCount()對于一個數組而言再次比length()或size()更有意義。
如果使用編程語言創建自己的對象/元素,最好使用其他類似元素使用的任何對象/元素,因為程序員習慣使用該術語訪問所需的屬性。
添加回答
舉報
