迭代点数组

时间:2017-09-30 02:37:59

标签: c# arrays c#-4.0

我需要迭代一个点数组,但是我得到的编译错误是:

  

运营商'<'不能应用于' int'类型的操作数和'方法组' WindowsFormsApplication1

这是我的语法,我应该如何重写这个以便我可以迭代数组? (我只在示例中显示一个Point,但在我的实际代码中大约有20个)

Point[] points = new Point[] { new Point { X = 50, Y = 40 } } };

for (int i=0;i<points[i].Count;i++) 
{ 
    MessageBox.Show(points[i].X);
    MessageBox.Show(points[i].Y);     
}

2 个答案:

答案 0 :(得分:1)

for循环中第二个表达式的语法不正确。但实际上,foreach在这里更有意义:

Point[] points = new Point[] { new Point { X = 50, Y = 40 } } };

foreach(var point in points)
{ 
    MessageBox.Show(point.X);
    MessageBox.Show(point.Y);     
}

答案 1 :(得分:0)

您引用了一个元素(单个点)而不是数组本身。您想要数组中所有点的计数。所以

更改

for (int i=0;i<points[i].Count;i++) 

for (int i=0; i<points.Length; i++) 

或者更好的是,使用枚举器:

foreach (var point in points)