日期:2014-05-18  浏览次数:20927 次

请问,这个遍历该怎么写
public static void Main(string[] args)
  {
  List<int> lis = new List<int> { 6,9};
  int j = 0;
  foreach (int i in lis)
  {  
  //这里面该怎么写,得到6和9的差的绝对值  
  }  
  Console.WriteLine(j); //j的值要求是6和9的差的绝对值
  Console.ReadKey();
  }


foreach里面该怎么写,得到6和9的差的绝对值?

------解决方案--------------------
List<int> lis = new List<int> { 6, 9 };
int j = Math.Abs(lis[0] - lis[1]);
Console.WriteLine(j); //j的值要求是6和9的差的绝对值
Console.ReadKey();
------解决方案--------------------
j = System.Math.Abs(i-j);

这样可以得到结果。不过不知道LZ这么做想干嘛。
------解决方案--------------------
探讨

只想在foreach里面写,一大堆代码,不想做大的改动

------解决方案--------------------
foreach (int i in lis)
{
if((i+1)%2==0)
{
j +=lis[i];
}
else
{
j-=lis[i];
}
}
j=Math.Abs(j);

如果有规律 eg:上面是奇偶 奇数加 偶数减
你如果就两个数比较没有规律,见拿出来单写,就像楼上那样。





------解决方案--------------------
List<int> lis = new List<int> { 6,9};
int j = 0;
int m = 0;
int n = 0;
foreach (int i in lis)
{
m = i;
j = Math.Abs( n - m);
n = i;
}
Console.WriteLine(j);

把你的Console.WriteLine(j);放在foreach里面,每次结束后都打印
------解决方案--------------------
算列表内每相邻的两个元素差的绝对值,用下面简化的代码吧。

List<int> lis = new List<int> { 6,9};
int j = 0, m = 0;
foreach (int i in lis)
{
j = Math.Abs( n - i);
n = i;
}
Console.WriteLine(j);

------解决方案--------------------
List<int> lis = new List<int> { 6,9};
int j = 0, m = 0;
foreach (int i in lis)
{
j = Math.Abs( n - i);
n = i; 
Console.WriteLine(j); 
}