总结 ref,out,params的区别和StringComparison枚举里的意义
时间:2010-12-10 来源:高导
- 当使用ref关键字时,传递到ref参数的变量必须事先初始化,而与 out不同,out 的参数在传递前不需要初始化
- 使用out传递时,在被调用方法中需要对数组进行赋值,这个是需要注意的地方;使用ref时,和上述的要求一样,需要先进行初始化,即由调用方明确赋值,所以不需要由被调用方明确赋值
params关键字:
params 关键字可以指定在参数数目可变处采用参数的方法参数,在使用时要注意几点:
1.在方法声明中的params关键字后,不允许再出现其他参数
2.在方法声明中只允许使用一个params关键字
Ref是有进有出, out是只出不进。
is就是处于对类型的判断。返回true和false。进行2次判断
as 检查对象类型的兼容性并进行强制转换,返回结果,如果不兼容就返回null;
as操作符类似于强制转换,但又有区别,当对象为null时,不会抛异常而是会返回
public enum ParameterDirection
成员名称 |
说明 |
|
|
Input |
参数是输入参数。 |
|
InputOutput |
参数既能输入,也能输出。 |
|
Output |
参数是输出参数。 |
|
ReturnValue |
参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。
|
public enum StringComparison {
CurrentCulture,
CurrentCultureIgnoreCase,
InvariantCulture,
InvariantCultureIgnoreCase,
Ordinal,
OrdinalIgnoreCase
}
CurrentCulture 使用区域敏感排序规则和当前区域比较字符串。
CurrentCultureIgnoreCase 使用区域敏感排序规则、当前区域来比较字符串,同时忽略被比较字符串的大小写。
InvariantCulture 使用区域敏感排序规则和固定区域比较字符串。
InvariantCultureIgnoreCase 使用区域敏感排序规则、固定区域来比较字符串,同时忽略被比较字符串的大小写。
Ordinal 使用序号排序规则比较字符串。
OrdinalIgnoreCase 使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。
这些知识虽然不常用。但是是一些基础的东西。