类型转换
隐式转换 目标类型一定能满足原类型的转换
// int n=5;double sum =n;
显示转换 目标类型不一定能满足原类型的转换(需程序员自己负责)
//double n=5;int sum=(int)n;
Convert可以把object类型转换为其它类型
把字符串转换为整型时还可以使用int.Parse int.TryParse
异常处理
给程序的一个容错机制
try catch。Exception ex 异常也是对象。
Exception 类主要属性:Message、StackTrace
发生异常后程序默认就退出了,try代码块中的后续代码不会被执行。catch以后的代码则会继续执行。
扔出自己的异常,扔:throw,抓住:catch
try 用于检查发生的异常,并帮助发送任何可能的异常。
catch 以控制权更大的方式处理错误,可以有多个catch子句。
finally 无论是否引发了异常,finally的代码块都将被执行。
值类型 引用类型
值类型均隐式派生自System.ValueType
•数值类型、bool、结构、枚举(eum)
引用类型派生自System.Object
•字符串、数组、类、接口等
引用类型变量的赋值只复制对对象的引用,而不复制对象本身。而将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
//字符串转换为枚举类型 stu.Sex=(Sex)Enum.Prase(typeof(Sex),"男");
// 枚举可以转换为整形,整形也可以转换为枚举
函数返回值(函数参数前的修饰符)
params 可变参数 必须出现在参数列表的最后
ref 仅仅是一个地址,引用传递,可以把值传递强制改为引用传递
out 让函数可以输出多个值
ref必须先初始化,因为是引用,所以必须先“有”,才能引用,而out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用。
ref应用场景内部对外部的值进行改变,out则是内部为外部变量赋值,out一般用在函数有多个返回值的场所。