可能重复:
How to initialize array of struct?
Initializing an Array of Structs in C#
C#,Visual Studio 2010
我想声明一个struct数组并在同一时间初始化它但是无法正确 我如何写默认初始化由结构组成的数组?
以下内容不会通过编译器,但会显示我想要存档的想法
private struct PrgStrTrans_t
{
public int id;
public string name;
public string fname;
}
private PrgStrTrans_t[] PrgStrTrans = { {1, "hello", "there"}, {2, "Fun", thisone"}}
有可能吗?
答案 0 :(得分:1)
在结构中添加构造函数,并将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")
}
答案 1 :(得分:0)
private PrgStrTrans_t[] PrgStrTrans = { new PrgStrTrans_t() { id = 1, name = "hello", fname = "there"},new PrgStrTrans_t() {id = 2, name = "Fun", fname = "thisone"}};
如果你制作一个构造函数会更好,这会避免输入属性名称。