Where is my way?

 

C#高级编程 类和结构区别

表面上看它们是没什么区别的,只不过KeyWord不同

结构声明 
Struct StructName { }
类声明
Class ClassName{

}

类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供处理和访问数据的方法,

如何定义一个类呢?比如人

行为:会走路(Walk),会吃饭(Eat),会睡觉(Sleep)

特征:有名字(Name),身高(Height),体重(Weight)

Class Person{
  public string name;
  public float height;
  public float weight;
  public void Eat(){
  }
  public void Walk(){
  }
  public void Sleep(){
  }
}

 定义一个结构也类似上面把Class改成Struct就行

 为什么有结构还要类呢??

 结构和类的区别是它们的内存的存储方式、访问方式(类是存储在heap上的引用类型),而结构是存储在栈上的值类型和它有的一些特征(结构不支持继承)。较小的数据类型使用结构可提高性能. 

Struct Person{
public string name;
public float height;
public float weight;
public void Eat(){
}
public void Walk(){
}
public void Sleep(){
}

 类型和结构都通过 new 来实例化

Person classPerson = new Person()

Person  structPerson = new Person()

如果一个类没有实例化(分配内存)是不能使用的

但结构是可以的

Person classPerson;

classPerson.Name="John";是错误的

Person structPerson

classPerson.Name="John" ;是正确的 

posted on 2011-07-28 20:45  ManLoveGirls  阅读(126)  评论(0)    收藏  举报

导航