读书人

为什么这样写出来的代码实现不了数组元

发布时间: 2012-09-21 15:47:26 作者: rapoo

为什么这样写出来的代码实现不了数组元素反序?(代码如下,高手指点)
class Program
{
static void Main(string[] args)
{
int i;

String[] a ={ "3", "a", "8", "haha" };

for (i = 0; i < a.Length; i++)
{
a[i] = a[a.Length - 1 - i];
Console.WriteLine(a[i]);
}
Console.ReadKey();
}




运行结果是:haha 8 8 haha

[解决办法]
第1次循环结果:={ "haha", "a", "8", "haha" };
第2次循环结果:={ "haha", "8", "8", "haha" };
第3次循环结果:={ "haha", "8", "8", "haha" };
第4次循环结果:={ "haha", "8", "8", "haha" };

a[i] = a[a.Length - 1 - i]; 执行以后 a数组已经被替换、

第三次 第四次 已经不是原来的 { "3", "a", "8", "haha" };
[解决办法]
a[i] = a[a.Length - 1 - i];自己都把自己覆盖了,比如"haha"把"3"替换了,再也找不到"3"了,你应该借助中间变量,去做
[解决办法]

C# code
int i;String[] a = { "3", "a", "8", "haha" };string[] b = new string[4];for (i = 0; i < a.Length; i++){    b[i] = a[a.Length - 1 - i];    Console.WriteLine(b[i]);}//重新定义个数组变量
[解决办法]
int i;

String[] a = { "3", "a", "8", "haha" };
for (i = 0; i < a.Length; i++)
{
Console.WriteLine(a[a.Length - 1 - i]);
}

读书人网 >C#

热点推荐