3

我需要在我的 C# 程序中对一组点进行硬编码。C 风格的初始化程序不起作用。

PointF[] points = new PointF{
    /* what goes here? */
};

它是如何完成的?

4

4 回答 4

7

像这样:

PointF[] points = new PointF[]{
    new PointF(0,0), new PointF(1,1)
};

在 c# 3.0 中,你可以写得更短:

PointF[] points = {
    new PointF(0,0), new PointF(1,1)
};

更新Guffa 指出我对var points, 确实不可能“使用数组初始值设定项进行隐式类型变量”。

于 2009-03-09T10:24:18.697 回答
2

您需要用 new 实例化每个 PointF。

就像是

Pointf[] points = { new PointF(0,0), new PointF(1,1) 等...

这里的语法可能不是 100%……我回到了几年前我最后一次不得不这样做的时候。

于 2009-03-09T10:23:02.930 回答
1
PointF[] points = new PointF[]
{
    new PointF( 1.0f, 1.0f),
    new PointF( 5.0f, 5.0f)
};
于 2009-03-09T10:26:18.367 回答
1

对于 C# 3:

PointF[] points = {
   new PointF(1f, 1f),
   new PointF(2f, 2f)
};

对于 C# 2(和 1):

PointF[] points = new PointF[] {
   new PointF(1f, 1f),
   new PointF(2f, 2f)
};
于 2009-03-09T10:26:45.977 回答