当前位置:  编程技术>.net/c#/asp.net

C#中this的使用实例分析

    来源: 互联网  发布时间:2014-11-02

    本文导语:  this关键字在C#程序设计中的应用非常频繁,今天本文就this关键字的用法做一番分析,希望能提对大家的C#程序设计有一定的帮助作用。具体分析如下: 1.代表当前类,在当前类中可使用this访问当前类成员变量和方法(需要注意...

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

运行结果如下图所示:

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

运行结果如下图所示:


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • _UIContentControl=new UIContentControl(this);这里this的用法
  • jquery $(this)和this的区别
  • java中this的用法示例(关键字this)
  • 请问:this是什么?
  • this关键字如何使用?
  • 在jsp文件中, this代表的意思???
  • 内容管理系统 THIS
  • 在一个类中this.filled = 12312312;filled= 12312312;有什么区别
  • this 到底怎么用啊!!!救我!
  • how to use 'this' in EJB?
  • 这个THIS是指什么??
  • java中的“this”问题,请高手指教一二!
  • jQuery this 与$(this)的差别
  • 小弟一直弄不明白this这个关键字。
  • 通过$(this)使用jQuery包装后的方法或属性
  • this 代表什么?
  • 请问:buttonsign定义为一个JButton,那么,buttonsign.addActionListener(this)是什么意思??
  • Semaphore was not declared in this scope
  • 初级问题,BangBean2.this是什么意思?其中BangBean2是个类
  • php this、self、parent有什么区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3