2013-03-10 35 views
1

请帮我在试图理解在C#复合数据类型

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

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

回答

16

复合数据类型是可以分成多种其他类型的东西。如果您愿意的话,包含更多框的框。如果一个盒子是空的,那么这是一个基本的数据类型。包含另一个框的框是一个复合类型,因为您可以将它分成更小的类型。

假设你有一种类型,代表游戏中的暴徒。你如何将它分成更小的对象以更好地理解和表示呢?

那个暴民包含的信息,如其名称,攻击,生命值和装备。

现在,它的名字可以表示为一个字符串,所以它是一个基本类型。生命值由一个数字表示,所以它也是一个简单的类型。空箱子,如果你按照我上面的例子。

但是它的设备呢?它可以用复合类型表示。一个字符串数组,为了这个例子。每个暴徒都有一个它携带的清单。它可以携带“剑”,“靴子”或其他任何东西。数组是一种复合类型,因为您可以将它分离为一堆对象(string [] =多个字符串对象)。

现在,它的攻击。我们需要的不仅仅是一个字符串或数字来表示一次攻击。我们需要一个名字,它所造成的伤害的数量,以及它可能造成的额外影响。这将是一个包含其他框的框。

最后,你能想到的复合型(类,数组,结构),作为树的:

int[] 
    int 
    int 
    int 
    int 

person 
    name 
    address 
     civic number 
     street 
     city 
    birth date 

希望它可以帮助你理解。

+1

非常感谢您对此更好的解释,这一定会帮助我创建我的服务。 – Rishabh 2013-03-10 21:34:09

+0

如果我理解正确,复合类型是类的奇特名称? – Hugo 2015-09-17 15:18:37

+0

@Hugo,不是真的。一个类可能不是一个复合类型,但是要实现一个复合类型,你必须使用类。例如,带有字符串FirstName和字符串LastName的类不是复合类型。但是一个类有另一个类的成员是一个复合类型。 – Calvin 2017-02-08 19:34:50