【问题标题】:filling an array in a struct c#在 struct c# 中填充数组
【发布时间】:2012-04-25 23:48:28
【问题描述】:

我正在尝试用一些值填充包含在结构中的数组,但无论我尝试什么,我都会不断收到错误。

我的结构是这样的

public struct boardState
    {
        public int structid;
        public char[] state;
    }

在初始化器中,我正在创建一个新的 boardState 并尝试用像这样的一些值来填充它

boardState _state_ = new boardState();
        _state_.structid = 1;
        _state_.state[9] = {'o','-','-','-','o','-','-','-','-','o'};

structid 似乎工作正常,但在 {'o','-' etc etc} 告诉我 ';预期的'。我已经浏览了上面的代码,并确保没有 ;'s 丢失(由运行没有此行的程序确认)所以我猜你不能以这种方式分配给数组。如何分配给状态数组?

编辑:-添加了我错过但仍然出现相同错误的逗号。

【问题讨论】:

  • 旁注:请考虑使用类而不是结构。或者请确认您知道在 C# 中使用 struct 的后果是什么 (stackoverflow.com/questions/13049/…)
  • 我只想说我同意 Alexei 的观点,并补充说你有一个可变结构,这通常被认为是一个坏主意。此外,通过在结构中包含一个对象,结构的大部分用途都消失了。

标签: c# arrays struct assign


【解决方案1】:

您不需要[9]。它尝试将数组分配给单个字符。而是使用这个:

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

【讨论】:

    【解决方案2】:

    您缺少逗号并且语法已关闭。

    发件人:

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

    收件人:

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

    【讨论】:

    • 感谢您指出这一点。我已经添加了那个逗号,但我仍然收到同样的错误
    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 2012-06-25
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多