ssb*_*sbb 5 .net c# arrays struct initialization
如何在C#中初始化结构中的char数组我正在这样做
struct cell
{
public char[] domain =new char[16];
public int[] Peers;
public int NumberOfPeers;
public char assignValue;
}
Run Code Online (Sandbox Code Playgroud)
但它给出的错误是我们无法初始化结构体中的数组!任何人都可以说出正确的方法
您可以使用构造函数
struct cell
{
public cell(int charArraySize) : this()
{
domain = new char[arraySize];
}
public char[] domain;
public int[] Peers;
public int NumberOfPeers;
public char assignValue;
}
Run Code Online (Sandbox Code Playgroud)
注意:即使使用结构,也不应该有公共字段,而是将它们封装在属性中.
能够改变结构的价值是一个更糟糕的问题 - 可变的结构是邪恶的.
您可以 constructor
为此使用 a 。看看MSDN。
struct cell
{
public cell(int size)
{
domain = new char[size];
this.Peers = Peers;
this.NumberOfPeers = NumberOfPeers;
this.assignValue = assignValue;
}
}
Run Code Online (Sandbox Code Playgroud)