Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在结构c中填充数组#_C#_Arrays_Struct_Assign - Fatal编程技术网

C# 在结构c中填充数组#

C# 在结构c中填充数组#,c#,arrays,struct,assign,C#,Arrays,Struct,Assign,我试图用一些值填充结构中包含的数组,但无论我怎么做,都会不断出错 我的结构是这样的 public struct boardState { public int structid; public char[] state; } boardState _state_ = new boardState(); _state_.structid = 1; _state_.state[9] = {'o','-','-','-'

我试图用一些值填充结构中包含的数组,但无论我怎么做,都会不断出错

我的结构是这样的

public struct boardState
    {
        public int structid;
        public char[] state;
    }
boardState _state_ = new boardState();
        _state_.structid = 1;
        _state_.state[9] = {'o','-','-','-','o','-','-','-','-','o'};
在初始值设定项中,我正在创建一个新的boardState,并尝试用如下值填充它

public struct boardState
    {
        public int structid;
        public char[] state;
    }
boardState _state_ = new boardState();
        _state_.structid = 1;
        _state_.state[9] = {'o','-','-','-','o','-','-','-','-','o'};
structid似乎工作正常,但我在{'o','-'etc}告诉我'时出错;期望'。我已经阅读了上面的代码并确保没有;'缺少(由没有此行的程序运行确认),因此我猜您不能以这种方式分配给数组。如何分配给状态数组


编辑:-添加了我遗漏的逗号,但仍然得到相同的错误。

您遗漏了一个逗号,语法已关闭

发件人:

_state_.state[9] = {'o','-','-','-','o','-','-','-','-''o'};
_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};
至:

_state_.state[9] = {'o','-','-','-','o','-','-','-','-''o'};
_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};

您缺少一个逗号,语法已关闭

发件人:

_state_.state[9] = {'o','-','-','-','o','-','-','-','-''o'};
_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};
至:

_state_.state[9] = {'o','-','-','-','o','-','-','-','-''o'};
_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};

您不需要
[9]
。它尝试将数组分配给单个字符。相反,只需使用以下命令:

_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};

您不需要
[9]
。它尝试将数组分配给单个字符。相反,只需使用以下命令:

_state_.state = new char [] {'o','-','-','-','o','-','-','-','-','o'};

谢谢你指出这一点。我加了那个逗号,但还是有同样的错误。谢谢你指出这一点。我添加了逗号,但我仍然得到相同的错误提示:请考虑使用类而不是结构。或者请确认您知道在C#中使用struct的后果是什么()我只想说我同意Alexei的观点,并补充说您有一个可变的struct,这通常被认为是一个坏主意。此外,通过在结构中有一个对象,结构的大部分目的都消失了。或者请确认您知道在C#中使用struct的后果是什么()我只想说我同意Alexei的观点,并补充说您有一个可变的struct,这通常被认为是一个坏主意。而且,通过在结构中拥有一个对象,结构的大部分用途都消失了。