C# 这个参考资料是什么?

C# 这个参考资料是什么?,c#,this,C#,This,可能重复: 有人能给我解释一下“这个”的意思吗?我们什么时候用这个?举一个简单的例子。现在流行的广泛使用该。基本上,它用于获取对当前实例的引用。这是一个范围标识符。它在对象的实例方法中用于标识属于类实例的行为和状态。下面是一个简单的示例 public class AnObject { public Guid Id { get; private set;} public DateTime Created {get; private set; } public AnObject()

可能重复:


有人能给我解释一下“这个”的意思吗?我们什么时候用这个?举一个简单的例子。

现在流行的
广泛使用该
。基本上,它用于获取对当前实例的引用。

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

下面是一个简单的示例

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();
}

在类中使用
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
指的是类
Person
的当前实例的字段
firstName
,而
firstName
(赋值的右侧部分)指的是构造函数范围中定义的变量

所以当你这样做的时候:

Person me = new Person("Oscar", "Mederos")
引用实例
Person
实例
me

编辑:
由于
引用类实例,因此不能在静态类中使用

也用于在类中定义索引器,如在数组中:
a[0]
a[“John”]