public 类字段 就相当于c#里面袒露给外面的属性 类似nodejs的 module.exports
但是属性又差别于普通的字段,属性只是外部包装字段 没有本身的任何含量 类似退换后的要领。 还是需要内部字段来设置。
private 类字段 就相当于类内部使用的字段。其实可以把属性看做私有变量的访谒器
1、属性的感化:掩护字段,对字段取值与赋值进行限定
2、属性的使用:
_name(属性名) public [对应字段类型] 属性名Name { get{return _name;} set{_name=value;} }
3、字段和属性的定名格局:
字段的定名方法一般给与:_cameCase
字段的定名方法一般给与:PascalCase
4、有了属性以后,往往通过属性去访谒字段。属性凡是声明为public,字段凡是声明为private。在外部访谒类中的字段,都是通过属性来实现。get可对取值进行界定,set可对赋值进行界定,凡是我们将get和set称为访谒器。
5、属性分为4种,
1)既读又写:同时包罗get和set
2)只读:只包罗get
3)只写:只包罗set
4)自动属性
例子:
class gwyy { private string _name; //字段 私有 public string Name { get { return _name + ‘a‘; } set { _name = value; } } 属性,公有 但是还是需要依赖于实体字段 }
要领:
“要领”是包罗一系列语句的代码块。在 C# 中,每个执行指令都是在要领的上下文中完成的。
要领在类或布局中声明,,声明时,声明时需要指定访谒级别、返回值、要领名称以及任何要领参数。要领参数放在括号中,并用逗号离隔。空括号暗示要领不需要参数。下面的类包罗三个要领:
class Motorcycle { public void StartEngine() { } public void AddGas(int gallons) { } public int Drive(int miles, int speed) { return 0; } }
静态要领
静态要领不同错误特定的类实例化,挪用时候,需要指定类名挪用
非静态要领
略。。。
要领重载
要领名不异,但参数的 数据类型、 个数、挨次差别
可变参数
可以在要领参数栏加params属性 接受一个一维数组的可变参数
public void test1(params string[] list) { for (int i = 0; i < list.Length; i++) { Console.WriteLine(list[i]); }
}
ref 按引用通报
挪用要领时,在要领中对参数所做的任何变动都反响在该变量中。
使用ref参数 必需要领声明 和挪用方都必需显示的使用 ref关键字
int i = 3; Console.WriteLine(i); g.test2(ref i); Console.WriteLine(i); public void test2(ref int i) { i = 55; }
out界说输出参数
参数通过引用来通报。ref要求变量必需在通报前初始化。而out参数不用初始化。
必需声明和挪用方都显示使用 out
int value; g.test3(out value); public void test3(out int i) { i = 66; }