為啥用foreach 會(huì)導(dǎo)致數(shù)組溢出呢,for就不會(huì)。求教
namespace projGetMaxScore
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? int[] sorce = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
? ? ? ? ? ? string[] name = new string[] { "89", "90", "98", "56", "60", "91", "93", "85" };
? ? ? ? ? ? int Topsorce = 0;
? ? ? ? ? ? string Name = "";
? ? ? ? ? ?// foreach (int x in sorce)
? ? ? ? ? ? //{
? ? ? ? ? ? ?//? ?if (sorce[x] >= Topsorce)
? ? ? ? ? ? ?//? ? ? ?Topsorce = sorce[x];
? ? ? ? ? ? ?//? ?Name = name[x];
? ? ? ? ? ?// }
? ? ? ? ? ?for(int i=0;i<sorce.GetLongLength(0);i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (sorce[i] >= Topsorce)
? ? ? ? ? ? ? ? ? ? ? ? ? Topsorce = sorce[i];
? ? ? ? ? ? ? ? ? ? ?Name = name[i]; }
? ? ? ? ? ? ? ? ? ? Console.Write("分?jǐn)?shù)最高的是{0},分?jǐn)?shù)是{1}", Name, Topsorce);
? ? ? ? }
? ? }
}
2018-11-22
x指的是sorce 數(shù)組的1~8吧? 后面的sorce[8]的時(shí)候角標(biāo)越界了
2018-11-03
foreach中的x是迭代變量名,不能對(duì)其進(jìn)行操作,所以for就不會(huì)。例如foreach中寫成x++就錯(cuò)了