这个参考?

时间:2011-04-18 13:00:43

标签: c# this

  

可能重复:
  When do you use the “this” keyword?

任何人都可以向我解释“这个”参考吗?我们用这个的时候?用一个简单的例子。

4 个答案:

答案 0 :(得分:3)

this是范围标识符。它在对象的实例方法中用于标识属于该类实例的行为和状态。

答案 1 :(得分:3)

在类中使用this时,您将引用当前实例:该类的实例。

public class Person {

    private string firstName;
    private string lastName;

    public Person(string firstName, string lastName) {

        //How could you set the first name passed in the constructor to the local variable if both have the same?
        this.firstName = firstName;
        this.lastName = lastName;
    }

    //...
}

在上面的示例中,this.firstName引用了类firstName的当前实例的字段PersonfirstName(分配的右侧部分)指的是在构造函数范围内定义的变量。

所以当你这样做时:

Person me = new Person("Oscar", "Mederos")

this引用实例Person实例me

修改
由于this是指类实例,因此不能在静态类中使用。

this也用于在类中定义索引器,例如在数组中:a[0]a["John"],...

答案 2 :(得分:0)

如今时尚Fluent APIs广泛使用this。基本上它用于获取对当前实例的引用。

答案 3 :(得分:0)

这是一个简单的例子

public class AnObject
{
  public Guid Id { get; private set;}
  public DateTime Created {get; private set; }

  public AnObject()
  {
    Created = DateTime.Now;
    Id = Guid.NewGuid();
  }

  public void PrintToConsole()
  {
    Console.WriteLine("I am an object with id {0} and I was created at {1}", this.Id, this.Created); //note that the the 'this' keyword is redundant
  }
}

public Main(string[] args) 
{
  var obj = new AnObject();
  obj.PrintToConsole();
}