我在另一個帖子上發現了這個代碼片斷,我不太明白,並且會解釋某人。奇怪的內聯數組初始化
private bool[] GetPageNumbersToLink(IPagedResult result)
{
if (result.TotalPages <= 9)
return new bool[result.TotalPages + 1].Select(b => true).ToArray();
...
C# Array initialization - with non-default value
我取在此:
new bool[result.TotalPages + 1]
這產生的bool與長度的數組等於總頁數的,缺省值是在所有這些假的。
.Select(b => true)
此使用LINQ查詢只返回爲真品,也就是他們沒有
.ToArray();
LINQ返回的IEnumerable類的東西,所以它需要回到一個新的陣列中,長度爲0,因爲首先沒有選擇。
我認爲這就是它在做什麼,但它沒有任何意義。
一個人有時會因單詞'Select'而感到困惑,因爲它聽起來像:**「過濾器」**來源(不過那叫做「Where」);實際上這意味着:**「項目」**的來源。 – 2014-11-13 19:59:38