-
string :字符串类
查看全部 -
类
变量
方法
构造方法 重载
对象
查看全部 -
main方法中,sum用来接收返回值,放在等号左边,此处=号是接收返回值,是固定格式,不是运算。
查看全部 -
this//当前对象,可以调用当前类的字段、属性、方法
查看全部 -
封装就是隐藏对象的信息,留出访问的接口
查看全部 -
ref和out使用时要注意的地方
报错:“Child”不能定义仅在参数修饰符“out”和“ref”上存在区别的重载 方法
因为:尽管ref和out运行时的处理方式不一样,但在编译时他们是一样的。因此如果一个方法仅用ref参数,一个方法仅用out参数,则无法重载这两个方法
查看全部 -
除了ref之外,c#中还有一个关键词可以按照引用类型传参,那就是out
ref和out的区别
ref主要用于传参,out主要用于获取结果
方法的返回值可以用return 但是return只能返回一个值,而out可以返回多个。
out关键词:
1,定义和调用时必须显式使用关键词out
2,out关键词无法将参数值传递给out参数所在的方法中,只能传递参数的引用,所以out参数的参数初始化必须在方法中完成。否则报错。
例如上面的代码,public void AgeAdd(int age,out int lastAge,out int nextAage) 方法中必须对lastAge nextAage赋值查看全部 -
这段代码运行c1.AgeAdd(c1.Age); 输出0岁,因为传递的是值类型,值类型改的是副本。c1.AgeAdd(c1); 输出1岁,因为传递的是引用类型,引用类型改的是地址,
如果要值类型实现引用类型的效果,传值类型过去也可以改变,用到ref
这样输出1岁
因为用了ref 所以值类型的参数可以按照引用类型来传参
声明的时候使用关键字ref 调用时也要写关键词ref 另外就是对象的属性不能作为实参
传递到 ref 参数的参数必须初始化,否则程序会报错,例如age必须初始化
查看全部 -
枚举使用的例子
1,枚举是值类型
2,枚举中不能定义字段,属性,方法
3,枚举值是从0递增的整数,如上面的例子,男是0 女是1
4,也可以给枚举值赋自己定义的值,如 男=10,女=34
5,给枚举值赋值时,可以不赋值Gender.男 可以赋值 (Gender)0看下面的例子:
输出的结果是:
如果是下面的呢?
输出
查看全部 -
值类型有没有字段属性方法呢?
像int,float,double,bool这些值类型,都是属于结构
结构中和类一样,可以定义字段,属性,方法
结构和类的区别:
1,结构是值类型,类是引用类型
2,结构中不能给字段赋初始值
3,结构中编码者不能自己手动的创建无参构造,只能自己手动创建有参构造(因为结构中默认就有一个无参构造)
4,结构的带参构造中需要给所有的字段赋值
5,结构类型的对象可以不用实例化,可以定义static 结构名 结构对象名;
使用 结构对象名.方法 进行调用。查看全部 -
引用类型赋值会改变本身的值
查看全部 -
使用对象初始化器赋值
Child c=new Child("xiaoming","男",4);
也可以用对象初始化器初始化对象
Child c=new Child(){Name="小明",Sex="男",Age=4}
这句话也可以省略掉()
Child c=new Child{Name="小明",Sex="男",Age=4}
用对象初始化器的前提是,要有一个无参构造
比如这个例子就需要
public Child(){}查看全部 -
通过return结束方法的调用
public void Eat(int age){
if(age<=6){
Console.WriteLine("不要吃糖");
return; //在这里就tu退出了方法,后面不会执行
}
Console.WriteLine("这里就不会输出了");
}查看全部 -
静态方法是不需要实例化的,可以直接调用。
查看全部
举报