2011-07-01 141 views
1

任何人都可以启发我在枚举,结构和类之间的C#的主要区别?我通常只为这类代码使用类,但从来没有真正看到使用其他类型的需求?C#枚举,结构和类

+0

什么是“这种类型的代码”? – BoltClock

+2

你需要问一个更加关注的问题。 –

+0

我相信这个问题会帮助一些初学者对所提及的项目有一个大概的了解。这可能对他们有用。 –

回答

2

指的:

Introduction to Objects and Classes in C# - Introduction

Introduction to Objects and Classes in C# - World's Classes and Objects

在面向对象的编程 程序员编写的 一个叫做类节目独立的部分。每个类 代表程序 功能的一部分,这些类可以被 汇编成一个程序。

在我们的世界里,我们有类和 这些类的对象。我们世界上的所有东西都被认为是 的对象。例如,人是 物体,动物也是物体, 矿物是物体;一切都在 世界是一个对象。很简单,对吧? 但是类怎么样?

在我们的世界中,我们必须区分 与我们生活的物体 之间的区别。所以我们必须明白, 是所有这些对象的分类(这是他们如何得到 类的名称和概念)。例如,对于 ,我是一个对象,David也是 对象,Maria是另一个对象。 所以我们来自一个人类(或 类型)。我有一只叫Ricky的狗,所以它是一个对象。我的朋友的狗Doby, 也是一个对象,所以它们来自 狗类(或类型)。

Struct与类有很多不同之处。

指的Structs

甲结构是值类型。为了帮助 了解结构,有助于 与类进行比较。虽然 结构是一个值类型,但类是 引用类型。值类型保存 它们在内存中的值,它们在 中声明,但引用类型对内存中的对象持有一个 引用。如果您复制了一个结构体 ,则C#将创建一个新的对象副本 ,并将此对象的副本分配给单独的 结构实例。但是,如果复制 一个类,则C#将创建该对象的 引用的新副本,并将对该引用的副本分配给 单独的类实例。结构不能 具有析构函数,但类可以具有 析构函数。一个结构和类之间的另一个区别 是一个 结构不能有实现 继承,但是一个类可以...

Enumerations基本上独特的类型,让您将符号名分配到整数值。

+0

欢呼,很高兴知道有些人不会立即驳回答案,因为它对他们没有意义,这是我想要的,谢谢Akram。 –

+0

@Bali C:有些人遵循简单的方式 - “有时”要公平 - :D –

5

MSDN是一个很好的参考:Class,Enum,Struct

+0

这将是一个很好的评论,这不回答OP的(太广泛)的问题。 –

+0

我正要发布那些确切的链接:) +1 –

+2

我认为这是一个很好的答案 – spender