C#这个
示例
该this关键字是指当前实例class(object)。这样,就可以区分两个具有相同名称的变量,一个在类级别(字段),一个是方法的参数(或局部变量)。
public MyClass {
int a;
void set_a(int a)
{
//this.a是指在方法外部定义的变量,
//而a表示传递的参数。
this.a= a;
}
}关键字的其他用法是链接非静态构造函数重载:
public MyClass(int arg) : this(arg, null)
{
}和编写索引器:
public string this[int idx1, string idx2]
{
get { /* ... */ }
set { /* ... */ }
}并声明扩展方法:
public static int Count<TItem>(this IEnumerable<TItem> source)
{
//...
}如果有一个局部变量或参数没有冲突,这是一个风格问题是否使用this与否,所以this.MemberOfType并MemberOfType会在这种情况下等价的。另请参见base关键字。
请注意,如果要在当前实例上调用扩展方法,this则是必需的。例如,如果您在实现的类的非静态方法中,IEnumerable<>并且想要Count从之前调用扩展,则必须使用:
this.Count() //就像StaticClassForExtensionMethod.Count(this)
并且this不能在此省略。
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短