C#中“this”的含义是什么

有人可以在C#中解释“this”的含义吗?

如:

// complex.cs
using System;

public struct Complex 
{
   public int real;
   public int imaginary;

   public Complex(int real, int imaginary) 
   {
      this.real = real;
      this.imaginary = imaginary;
   }
this关键字是对该类的当前实例的引用.

在您的示例中,这用于引用Complex类的当前实例,它消除了构造函数签名中int real与public int real之间的歧义;在类定义中.

这个MSDN has some documentation也值得一试.

虽然与您的问题没有直接关系,但另外还有一个用作扩展方法的第一个参数.它用作表示要使用的实例的第一个参数.如果想要在String类中添加一个方法,则可以在任何静态类中进行简单编写

public static string Left(this string input, int length)
{
    // maybe do some error checking if you actually use this
    return input.Substring(0, length); 
}

另见:http://msdn.microsoft.com/en-us/library/bb383977.aspx

https://stackoverflow.com/questions/6270774/what-is-the-meaning-of-this-in-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:C#中“this”的含义是什么