2016-11-04 330 views
0

嘿,我剛剛開始學習C#,我想知道for循環中的「-1」是什麼意思?在下面的C#代碼中,「-1」是什麼意思?

string[] fruit = { "Apples", "Oranges", "Grapes" }; 
for (int i = fruit.Length - 1; i >= 0; i--) 
{ 
    // Code Here 
    Console.WriteLine(fruit[i]); 
} 

我試圖找出如何倒退陣列中的,我能做到這一點,但我只是想知道如何「-1」的作品for循環。爲什麼有必要?

+5

數組是從零開始的,但長度是從一開始的一個計數,所以您需要length-1來獲取數組中的最後一個元素。 –

+0

'fruit.Length - 1'。數組的最後一個元素... –

+5

對於許多「爲什麼這是必要的」問題的簡單回答,如果你不操作核反應堆的話,就是「離開並看到」。 –

回答

3

C#中的數組是0索引的,意思是它們從元素[0]開始。因此,最大的可訪問索引是Length-1。

+0

非常感謝。 – Bustedspoke

1

數組-1的長度是規範化它。數組從0開始,顯然計數數字從1開始。因此,數組(或集合,語義)-1的長度將是訪問集合當前索引的方式。

+0

謝謝。對此,我真的非常感激。 – Bustedspoke

+0

相信我我試過了,但它說我有不到15個代表。 – Bustedspoke

0

一個數組從0開始索引到array.length - 1總是,數組長度從1 2 3 .....到array.length,這意味着fruit [0] fruit [1] ....水果[fruit.length -1],這是最後一個元素。所以你開始一個反向循環,從水果[fruit.length - 1] ......到水果[0],如果你把水果[fruit.length],你將得到indexOutOfBoundsException。調試您的應用程序是瞭解發生了什麼的最佳方式。

+0

非常感謝特蕾莎 – abelh2200