1

我正在使用 Mono Develop For Android,并希望在使用结构数组方面得到一些帮助。

这是我的代码:

public struct overlayItem
{
    string stringTestString;
    float floatLongitude;
    float floatLatitude;
}

当使用这个结构时:

overlayItem[1] items;
items[0].stringTestString = "test";
items[0].floatLongitude = 174.813213f;
items[0].floatLatitude = -41.228162f;

items[1].stringTestString = "test1";
items[1].floatLongitude = 170.813213f;
items[1].floatLatitude = -45.228162f;

我在该行收到以下错误:

overlayItem[1] items;

意外的符号“项目”

我可以请一些帮助来正确创建上述结构的数组,然后用数据填充它。

谢谢

4

4 回答 4

3

定义你的结构,如:

overlayItem[] items = new overlayItem[2];

您还需要将结构中的字段定义为公共字段,以便能够在结构之外访问它们

public struct overlayItem
{
    public string stringTestString;
    public float floatLongitude;
    public float floatLatitude;
}

(您可以使用Pascal 大小写作为结构名称)

于 2012-11-14T06:59:24.193 回答
1

为两个元素声明结构数组的正确方法是

overlayItem[] items = new overlayItem[2];

如果您不知道确切的项目数量,您也可以使用列表。

List<overlayItem> items = new List<overlayItem>();

items.Add( new overlayItem {
               stringTestString = "test";
               floatLongitude = 174.813213f;
               floatLatitude = -41.228162f; 
           }
);
于 2012-11-14T07:00:19.493 回答
1

您需要像这样创建结构数组:

overlayItem[] items = new overlayItem[2];

记得用 [2] 声明它,因为它将有 2 个元素,而不是 1 个!索引数组可能从零开始,但定义数组大小不会。

于 2012-11-14T07:00:55.820 回答
1

您的示例代码显示您需要两个项目,因此您需要声明长度为 2 的结构数组。这可以通过以下方式完成:

overlayItem[] items = new overlayItem[2];
于 2012-11-14T07:01:06.347 回答