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 忌日祝福语简短10字
15 结婚祝福语简短最好的
16 苦行老师祝福语结婚简短
17 元旦祝福语简短小学
18 新年祝福语创意简短霸气