如何在C#中初始化结构体中的char数组。我正在尝试这样做。
但是它给出了一个错误,即我们不能在结构体的主体中初始化数组!有人能告诉正确方法吗?
struct cell
{
public char[] domain =new char[16];
public int[] Peers;
public int NumberOfPeers;
public char assignValue;
}
但是它给出了一个错误,即我们不能在结构体的主体中初始化数组!有人能告诉正确方法吗?
: this()
。 - Jeppe Stig Nielsenint
和char
的“简单”字段只能通过对已经创建的cell
值进行修改来使用。 可变的结构体通常会导致错误(特别是对于那些知识不足以初始化结构体的人,比如原始帖子中的人)。因此,在回答中提供有关可变结构体的警告可能是相关的。 - Jeppe Stig NielsenPeers
的类型是数组,那么var thing1 = thing2; thing2.Peers[1]=9;
将会在thing1.Peers[1]
中存储9或者不写入任何内容到thing2.Peers[1]
中,这很容易引起混淆,比暴露基本类型字段更加困难。实际上,我不确定如何使类似于thing1.Peers[1]=9;
的操作在C#中像值类型数组一样运行,尽管在vb.net中可以进行等效操作。 - supercat