日期:2014-05-17  浏览次数:20793 次

C#新手学习 关于数组 请教
今天在学数组看到了一道题, “将一个字符串数组的元素的顺序进行反转”{“3“,”a“,”8“,”haha“}
  程序如下;
  string[] names={"3","a","8","haha"};
  for(int i=0;i<name.length;i++)
  {
  string temp=names[i];
  names[i]=names[names.length-1-i];
  names[names.length-1-i]=temp;
  }
最后输出就不写了 我一直看不动 names.length-1-i 是怎么来的 为什么这样写啊.请教各位大神 指导一下啊 
我是新手啊 这是我目前第一个没搞懂的点啊 谢谢啦

------解决方案--------------------
names.length-1-i
这是一个简单的数学概念
你想得到5,4,3,2,1,0这样的倒序数列,就要用负号,-i来实现倒序。
5-0=5,5-1=4,5-2=3,5-3=2,5-4=1,5-5=0

names.length-1只是为了对齐数字,10个数字是0到9,由于最小是0,所以10变成9要减1