初始化结构的数组

本文关键字:数组 结构 初始化 | 更新日期: 2023-09-27 18:06:57

可能的重复:
如何初始化结构的数组
在C#中初始化结构数组

C#,Visual studio 2010

我想声明一个结构数组并同时初始化它,但无法正确执行如何写入以默认方式初始化由structs组成的数组?

以下内容不会经过编译器,但显示了我想要归档的想法

    private struct PrgStrTrans_t
    {
        public int id;
        public string name;
        public string fname;
    }
    private PrgStrTrans_t[] PrgStrTrans = { {1, "hello", "there"}, {2, "Fun", thisone"}}

有可能吗?

初始化结构的数组

向结构中添加一个构造函数,并将new PrgStrTrans(...),放在数组的每一行上。

像这样:

private struct PrgStrTrans_t
{
    public int id;
    public string name;
    public string fname;
    public PrgStrTrans_t(int i, string n, string f)
    {
        id = i;
        name = n;
        fname = f;
    }
}
private PrgStrTrans_t[] PrgStrTrans = {
                                          new PrgStrTrans_t(4, "test", "something"),
                                          new PrgStrTrans_t(2, "abcd", "1234")
                                      }
private PrgStrTrans_t[] PrgStrTrans = { new PrgStrTrans_t() { id = 1, name = "hello", fname = "there"},new PrgStrTrans_t() {id = 2, name = "Fun", fname = "thisone"}};

如果您制作一个构造函数会更好,这样可以避免键入属性名称。