C#中的复合数据类型

3

请帮助我理解以下内容:

  • C#中的复合数据类型是什么
  • 自定义数据类型和复合类型在C#中是否相同

由于我需要在WCF服务中使用它,因此我需要更清楚地了解它。

1个回答

18
一个复合数据类型是可以划分为多个其他类型的对象,类似于包含其他盒子的盒子。如果一个盒子为空,则它是一个基础数据类型;如果一个盒子包含另一个盒子,则它是一个复合类型,因为你可以将其分解为更小的类型。比如,在游戏中代表一个怪物的类型,可以通过把它分解为更小的对象来更好地理解和表示它。该怪物包含了名字、攻击力、生命值以及装备等信息。其中,它的名字可以用字符串表示,所以它是一个基础类型;而生命值则用数字表示,也是一个基础类型。但是它的装备可以用一个复合类型表示,例如一个字符串数组,每个怪物都有一系列它携带的物品,比如剑、靴子等,因此这个数组是一个复合类型。至于它的攻击方式,需要一个包含其他盒子的盒子来进行表示,因为我们需要记录攻击名称、伤害值以及附加效果等信息。最后,你可以把复合类型(类、数组、结构体)看作一棵树。
int[]
    int
    int
    int
    int

person
    name
    address
        civic number
        street
        city
    birth date

希望这有助于你的理解。


1
非常感谢Netfangled提供这么好的解释,这肯定会帮助我创建我的服务。 - rp4361
如果我理解正确,复合类型是类的一个花哨的名称? - Hugo
@Hugo,不完全是这样。一个类可能不是复合类型,但要实现复合类型,必须使用类。例如,具有字符串FirstName和字符串LastName的类不是复合类型。但是,一个类具有另一个类的成员就是复合类型。 - Calvin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接