这是C#中struct元素的正确用法吗?有点困惑

Ser*_*pia 0 c# struct data-structures

我正在创建一个类,它将从资源文件中读取信息(与资源文件的类型无关,只是为了澄清),并在表单上传递信息以便于操作信息.

我的问题是,我应该使用结构来轻松地组织信息,然后将列表传递给表单以寻求利用这些信息吗?

我将要抓取的一组典型信息就是:

[Hero Name]
[Hero Type]
[Starting HP]
[Starting Mana]

[Portrait]
[Backstory]

[Spell 1]
[Spell 1 Description]

[Spell 2]
[Spell 2 Description]

[Spell 3]
[Spell 3 Description]

[Spell 4]
[Spell 4 Description
Run Code Online (Sandbox Code Playgroud)

]

我应该在这种情况下使用结构吗?英雄名字也是一个字符串,英雄类型.但是,例如,[肖像]将是一个图像.结构可以包含多种数据类型吗?

Ree*_*sey 12

在这种情况下,我更喜欢上课.

如果满足以下所有条件,则应使用结构:

  1. 就像原始类型一样
  2. 实例大小小于16个字节
  3. 是不可改变的
  4. 值语义是可取的.

在你的情况下,上述都不是真的,因为你正在制作一个(可能是可变的)大型属性组.

您希望将结构用于单个不可变(即:不变)值的结构,至少在逻辑意义上如此.复数或向量等是结构是好的候选者的场景类型.

另外,一般来说,只要你想在对象里面包含一个引用类型(比如一个字符串),你就会希望你的对象成为一个类.那,马上就是你不想要结构的好兆头.

有关详细信息,请参阅" 在类和结构之间进行选择 "的设计指南页面.