C#基础-结构,部分类和Object 类
2013-12-02 21:29
204 查看
一、结构
结构和类几乎一样,在定义的时候只需要把class 写成 struct 。为结构定义函数和为类定义函数完全 一样。
那什么时候用结构呢?在一些时候,我们仅需要一个小的数据结构。如果用类的话性能是有损失的, 而采用结构就比较合适。
注意,结构是值类型,而类是引用类型;结构不支持继承;结构在编译时,编译器总会提供一个无参 的构造函数;在结构中不允许定义无参的构造函数。
二、部分类
有时候,可能多个人在访问同一个类,我们可能把同一个类,接口或者结构放在不同的文件中,只需 要在类 接口 结构前面加上 partial 关键字。
比如下面两段不同的源码分别位于不同的文件中,当编译的时候,系统会自动创建一个testOne 类,合 并两个文件中的方法。
partial class testOne{
public void MethodOne(){}
}
partial class testOne{
public void MethodTwo(){}
}
三、Object 类。
所有的.NET 类都派生于System.Object。
既然都派生自System.Object,这样其一些特定的方法我们就可以直接使用。比如最常简的ToString() 方法,是获取对象的字符串表示的一种便捷方式。
结构和类几乎一样,在定义的时候只需要把class 写成 struct 。为结构定义函数和为类定义函数完全 一样。
那什么时候用结构呢?在一些时候,我们仅需要一个小的数据结构。如果用类的话性能是有损失的, 而采用结构就比较合适。
注意,结构是值类型,而类是引用类型;结构不支持继承;结构在编译时,编译器总会提供一个无参 的构造函数;在结构中不允许定义无参的构造函数。
二、部分类
有时候,可能多个人在访问同一个类,我们可能把同一个类,接口或者结构放在不同的文件中,只需 要在类 接口 结构前面加上 partial 关键字。
比如下面两段不同的源码分别位于不同的文件中,当编译的时候,系统会自动创建一个testOne 类,合 并两个文件中的方法。
partial class testOne{
public void MethodOne(){}
}
partial class testOne{
public void MethodTwo(){}
}
三、Object 类。
所有的.NET 类都派生于System.Object。
既然都派生自System.Object,这样其一些特定的方法我们就可以直接使用。比如最常简的ToString() 方法,是获取对象的字符串表示的一种便捷方式。
相关文章推荐
- C#基础系列(8)-- 第三部分 面向对象相关 -- 类与结构(1)
- C#基础知识整理:C#类和结构(2)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分(来源:http://blog.csdn.net/yangjundeng/archive/2005/03/17/321920.aspx)
- C#基础知识整理:C#类和结构(3)
- C#基础系列(4)-- 第一部分 基础数据类型与操作 -- 枚举类型与位标志(4)
- C++数据类型和C#的部分对应关系 API与C#数据结构类型对应关系表
- 结构—C#基础回顾
- C#基础部分之语法和基础知识
- C#基础系列(9)-- 第三部分 面向对象相关 -- 抽象类与接口(2)
- C#基础系列(11)-- 第四部分 C#高级特性 -- 泛型概念(1)
- 第六章:数据结构基础。第三部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- C#语言学习--基础部分(一)
- C#语言学习--基础部分(五) --复合运算符,循环语句
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分(转)
- C#语言学习--基础部分(九) --类->静态字段,静态方法,静态类
- C#基础 结构、枚举、表达式、运算符
- C#基础系列(2)-- 第一部分 基础数据类型与操作 -- 位运算(2)
- 算法:C语言实现 (第1-4部分)基础知识、数据结构……
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分