C#中this的使用实例分析

 更新时间:2014年08月21日 09:24:17   投稿:shichen2014  
这篇文章主要介绍了C#中this的使用方法,this是C#程序设计中非常重要的一个关键字,本文以实例形式对此作出简单的用法分析,需要的朋友可以参考下

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

运行结果如下图所示:

相关文章

  • C#获取文件名禁止使用的字符方式

    C#获取文件名禁止使用的字符方式

    这篇文章主要介绍了C#获取文件名禁止使用的字符方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 使用C#与设备接口进行无缝通信的实现技巧

    使用C#与设备接口进行无缝通信的实现技巧

    随着物联网、智能设备和自动化技术的快速发展,越来越多的设备需要与计算机系统进行实时通信,而C#作为一门强大的编程语言,凭借其广泛的库支持和高效的开发效率,已成为与设备接口对接的理想选择,在本篇文章中,我们将探讨如何使用C#与设备进行无缝通信
    2025-01-01
  • C#中将DataTable转换成CSV文件的方法

    C#中将DataTable转换成CSV文件的方法

    DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表,在.net项目中运用C#将DataTable转化为CSV文件,接下来通过本文给大家提供一个通用的方法,感兴趣的朋友可以参考下
    2016-10-10
  • C#实现的文件批量重命名功能示例

    C#实现的文件批量重命名功能示例

    这篇文章主要介绍了C#实现的文件批量重命名功能,结合具体实例形式分析了C#针对文件的遍历、属性修改相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • C# string转unicode字符的实现

    C# string转unicode字符的实现

    本文主要介绍了C# string转unicode字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • C#中的文件路径获取函数和文件名字获取函数小结

    C#中的文件路径获取函数和文件名字获取函数小结

    这篇文章主要介绍了C#中的文件路径获取函数和文件名字获取函数小结,本文讲解了获取绝对文件路径、获取文件名字、获得包含 path 目录信等内容,需要的朋友可以参考下
    2015-01-01
  • c#与mysql的连接

    c#与mysql的连接

    c#与mysql的连接...
    2007-03-03
  • C#基于QRCode实现动态生成自定义二维码图片功能示例

    C#基于QRCode实现动态生成自定义二维码图片功能示例

    这篇文章主要介绍了C#基于QRCode实现动态生成自定义二维码图片功能,结合实例形式分析了C#使用QRCode动态生成二维码图片相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • c#的sortedlist使用方法

    c#的sortedlist使用方法

    这篇文章主要介绍了c#的sortedlist使用方法,需要的朋友可以参考下
    2014-05-05
  • C# 线程切换后上下文都去了哪里(.NET高级调试分析)

    C# 线程切换后上下文都去了哪里(.NET高级调试分析)

    总会有一些朋友问一个问题,在 Windows 中线程做了上下文切换,请问被切的线程他的寄存器上下文都去了哪里?这个问题其实比较底层,如果对操作系统没有个体系层面的理解以及做过源码分析,其实很难说明白,这篇我们就从.NET高级调试的角度分析,需要的朋友可以参考下
    2023-12-12

最新评论