首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为什么这样写出来的代码实现不了数组元素反序?(代码如上,)

2012-09-21 
为什么这样写出来的代码实现不了数组元素反序?(代码如下,高手指点)class Program{static void Main(string

为什么这样写出来的代码实现不了数组元素反序?(代码如下,高手指点)
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]);
}

热点排行