C#中 类的成员
2016-04-21 18:49
417 查看
C#中类的成员有 方法, 构造函数(析构函数),字段,属性;对初学者值得一提的是只有类和类成员才有访问修饰符;1,方法。方法又称函数 类中的方法和正常的方法差不多 只是前面有访问修饰符,用的时候用对象名点儿出来;静态的方法不用实例化,非静态的方法必须实例化,静态的方法在程序一旦启动不论是否new其所在类都会驻留内存,对系统的占用相对来说比非静态的方法占用大,但是由于其使用方便,调用快捷,还是很值得一用的,一般推荐频繁被调用的方法可以考虑使用静态的,可以提高项目性能。 方法是通过指定 修饰符 返回值类型 方法名称 参数列表(参数) 方法签名+方法体下面是根据参数类型将方法进行分类(共5种) 形参 实参 类型相匹配obj类型(1)值类型参数(2)引用类型参数:比如数组,一个改变影响另一个(3)out类型参数:出参 必须在引用的函数中赋值(优点 返回多个返回值)只从本函数传到Main 单向传递参数 static void Main(string[] args) //{ int i=0;//不必赋值 // Add(out i); // Console.WriteLine(i); //static void Add(out int i) //{ // i = 100;//必须赋值; //} ////out相当于把 i 转换成引用类型(4)ref类型参数:双向传递参数 带进 带出;static void Main(string[] args) { int i = 10; Add(ref i); Console.WriteLine(i); } static void Add(ref int i) { Console .WriteLine (i); i=100;//不必赋值 因为可以接受main函数的i }(5)params类型参数:只能用于一维数组; static void Main(string[] args) { Add(1, 1, 2, 3, 5, 5325); } static void Add(params int[]arr) { foreach (int i in arr) Console.WriteLine(i); }
static void Main(string[] args) {int [] arr=new int [3] {1,2,3}; Add(arr); Add(12, 3); } static void Add(params int[]arr) { foreach (int i in arr) Console.WriteLine(i); }下面是其他的方法(1)分部方法 ,,必须出现在分部类中分部类是partial关键定义的,分部类可以分布在几个文件夹中的,由多个程序员编写,但很少用!可以有ref 不可以有out 默认访问修饰符private(2)扩展方法 已有的类型加了方法 尽量使用继承 不使用扩展 但string无子类 所以必须扩展 静态类!
(3)命名参数 就是在调用的时候加“:“ 这样就可以不顾实参的顺序!
错
对形实参数名必须相同!(4)可选参数 待更新。。2,访问修饰符public internal private protect protect internalpublic 所有都可用internal 项目中可用 exe dll 内private 当前类中 protect 父子类中 继承中protect internal protect 和internal的并集3,构造函数(析构函数)构造函数名与类名相同,且没有返回值!new 的时候就调用了构造函数 每个类中都有一个默认的函数构造函数 可以有重载 有参(new的时候可以直接加实参)和无参
构造函数还有 静态(只可调用一次且优先,可以对静态字段和只读字段赋初值)和非静态
4,字段。字段一般都是私有的private 可通过属性间接set 和get;字段有constx型的 如果字段前面有const,调用时得用类点出来。且字段不能改变;readonly的字段 调用用对象调用 且可在构造函数中改变;静态的只读字段 可用静态构造函数赋初值!5,属性。
可只有get或set ! get set可以加修饰符!其中value是代替值!!!!
static void Main(string[] args) {int [] arr=new int [3] {1,2,3}; Add(arr); Add(12, 3); } static void Add(params int[]arr) { foreach (int i in arr) Console.WriteLine(i); }下面是其他的方法(1)分部方法 ,,必须出现在分部类中分部类是partial关键定义的,分部类可以分布在几个文件夹中的,由多个程序员编写,但很少用!可以有ref 不可以有out 默认访问修饰符private(2)扩展方法 已有的类型加了方法 尽量使用继承 不使用扩展 但string无子类 所以必须扩展 静态类!
(3)命名参数 就是在调用的时候加“:“ 这样就可以不顾实参的顺序!
错
对形实参数名必须相同!(4)可选参数 待更新。。2,访问修饰符public internal private protect protect internalpublic 所有都可用internal 项目中可用 exe dll 内private 当前类中 protect 父子类中 继承中protect internal protect 和internal的并集3,构造函数(析构函数)构造函数名与类名相同,且没有返回值!new 的时候就调用了构造函数 每个类中都有一个默认的函数构造函数 可以有重载 有参(new的时候可以直接加实参)和无参
构造函数还有 静态(只可调用一次且优先,可以对静态字段和只读字段赋初值)和非静态
4,字段。字段一般都是私有的private 可通过属性间接set 和get;字段有constx型的 如果字段前面有const,调用时得用类点出来。且字段不能改变;readonly的字段 调用用对象调用 且可在构造函数中改变;静态的只读字段 可用静态构造函数赋初值!5,属性。
可只有get或set ! get set可以加修饰符!其中value是代替值!!!!
相关文章推荐
- C#集合
- C# 数组中的数组
- C#运算符 string
- C# 语句异常处理语句
- C#语句 运算符 表达式 字符串 编码
- C# 控制台下的常见函数&数据类型
- C#中用来统计你所写的代码总量的代码
- C#中的结构体----面向对象的编程很少用
- C#编程基础 实验(7) (1-2)
- C#数字千分位问题
- 《CLR via C#:框架设计》读书笔记 - 接口
- 《CLR via C#:框架设计》读书笔记 - 事件
- C#中的表达式树的浅解
- 《CLR via C#:框架设计》读书笔记 - 参数
- 《CLR via C#:框架设计》读书笔记 - 方法
- 《CLR via C#:框架设计》读书笔记 - 类型基础
- c#简答题
- C# 比较字符串是否相等 0009
- 《CLR via C#:框架设计》读书笔记 - CLR
- c# 委托学习文档