C#中类的成员有 方法, 构造函数(析构函数),字段,属性;对初学者值得一提的是只有类和类成员才有访问修饰符;
错
对
4,字段。字段一般都是私有的private 可通过属性间接set 和get;
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 internal
public 所有都可用
internal 项目中可用 exe dll 内
private 当前类中
protect 父子类中 继承中
protect internal
protect 和
internal的并集
3,构造函数(析构函数)
构造函数名与类名相同,且没有返回值!
new 的时候就调用了构造函数 每个类中都有一个默认的函数
构造函数 可以有重载 有参(new的时候可以直接加实参)和无参

构造函数还有 静态(只可调用一次且优先,可以对静态字段和只读字段赋初值)和非静态

字段有constx型的 如果字段前面有const,调用时得用类点出来。且字段不能改变;
readonly的字段 调用用对象调用 且可在构造函数中改变;
静态的只读字段 可用静态构造函数赋初值!
5,属性。

可只有get或set ! get set可以加修饰符!其中value是代替值!!!!