在下面的C#代码中,“-1”是什么意思?

在下面的C#代码中,“-1”是什么意思?

问题描述:

嘿,我刚刚开始学习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

对于许多“为什么这是必要的”问题的简单回答,如果你不操作核反应堆的话,就是“离开并看到”。 –

C#中的数组是0索引的,意思是它们从元素[0]开始。因此,最大的可访问索引是Length-1。

+0

非常感谢。 – Bustedspoke

数组-1的长度是规范化它。数组从0开始,显然计数数字从1开始。因此,数组(或集合,语义)-1的长度将是访问集合当前索引的方式。

+0

谢谢。对此,我真的非常感激。 – Bustedspoke

+0

相信我我试过了,但它说我有不到15个代表。 – Bustedspoke

一个数组从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