欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中this的使用实例分析

程序员文章站 2023-12-17 16:50:58
this关键字在c#程序设计中的应用非常频繁,今天本文就this关键字的用法做一番分析,希望能提对大家的c#程序设计有一定的帮助作用。具体分析如下: 1.代表当前类,在当...

this关键字在c#程序设计中的应用非常频繁,今天本文就this关键字的用法做一番分析,希望能提对大家的c#程序设计有一定的帮助作用。具体分析如下:

1.代表当前类,在当前类中可使用this访问当前类成员变量和方法(需要注意的是 静态方法中不能使用this),也可用于参数传递,传递当前对象的引用。

示例代码如下:

class program
{
  static void main(string[] args)
  {
    thisclass testobj = new thisclass();
    console.readline();
  }
}
class thisclass
{
  private string a { get; set; }
  public thisclass()
  {
    /*当前类this 访问类中属性a 静态方法无法访问a属性*/
    this.a = "test string";
    console.writeline(this.testfun("testfun :"));
  }
  private string testfun(string args)
  {
    return args + this.a;
  }
}

运行结果如下图所示:

C#中this的使用实例分析

2.声明索引器

索引器:允许类和结构的实例按照与数组相同的方式进行索引,索引器类似与属性,不同之处在于他们的访问器采用参数,被称为有参属性,索引可以被重载,属于实例成员,不能声明为static。

示例代码如下:

class program
{
  static void main(string[] args)
  {
    indexclass intindexclass = new indexclass();
    intindexclass[0] = new thisclass("intindexclass 111");
    intindexclass[1] = new thisclass("intindexclass 222");
    indexclass stringindexclass = new indexclass();
    stringindexclass["string1"] = new thisclass("stringindexclass string1");
    stringindexclass["string2"] = new thisclass("stringindexclass string2");
    console.readline();
  }
}
class indexclass
{
  /*声明属性*/
  private thisclass[] thisclassarr = new thisclass[10];
  private hashtable thisclassstrarr = new hashtable();
  /*创建索引器1 索引可以被重载,属于实例成员,不能声明为static*/
  public thisclass this[int index]
  {
    get { return thisclassarr[index]; }
    set { this.thisclassarr[index] = value; }
  }
  /*创建索引器2*/
  public thisclass this[string index]
  {
    get
    {
      return thisclassstrarr[index] as thisclass;
    }
    set { this.thisclassstrarr[index] = value; }
  }
}
class thisclass
{
  private string a { get; set; }
  public thisclass(string str)
  {
    /*当前类this 访问类中属性a 静态方法无法访问a属性*/
    this.a = str;
    console.writeline(this.testfun("testfun :"));
  }
  private string testfun(string args)
  {
    return args + this.a;
  }
}

运行结果如下图所示:

C#中this的使用实例分析

上一篇:

下一篇: