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

运行结果如下图所示:

相关文章

  • 详解WPF如何动态生成DataGrid的行和列

    详解WPF如何动态生成DataGrid的行和列

    在日常开发中,DataGrid作为二维表格,非常适合数据的展示和统计,本文以一些简单的小例子,简述在WPF开发中,如何动态生成DataGrid的行和列,需要的可以了解下
    2024-02-02
  • 总结C#删除字符串数组中空字符串的几种方法

    总结C#删除字符串数组中空字符串的几种方法

    C#中要如何才能删除一个字符串数组中的空字符串呢?下面的文章会介绍多种方式来实现清除数组中的空字符串,以及在.net中将字符串数组中字符串为空的元素去除。
    2016-08-08
  • C#判断系统是32位还是64位的方法

    C#判断系统是32位还是64位的方法

    这篇文章主要介绍了C#判断系统是32位还是64位的方法,实例分析了两种常用的技巧供大家选择使用,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#中POST接口formdata传参模板的记录

    C#中POST接口formdata传参模板的记录

    这篇文章主要介绍了C#中POST接口formdata传参模板的记录方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • C#序列化与反序列化实例

    C#序列化与反序列化实例

    这篇文章主要介绍了C#序列化与反序列化的实现方法,实例分析了序列化与反序列化的原理与实现技巧,需要的朋友可以参考下
    2015-01-01
  • c#获取图片正确格式的方法

    c#获取图片正确格式的方法

    这篇文章主要介绍了c#获取图片正确格式的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Unity3D实现渐变颜色效果

    Unity3D实现渐变颜色效果

    这篇文章主要为大家详细介绍了Unity3D实现渐变颜色效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#实现百分比转小数的方法

    C#实现百分比转小数的方法

    这篇文章主要介绍了C#实现百分比转小数的方法,涉及C#进行数值计算的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Unity3D实现虚拟按钮控制人物移动效果

    Unity3D实现虚拟按钮控制人物移动效果

    这篇文章主要为大家详细介绍了Unity3D实现虚拟按钮控制人物移动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C# 中const,readonly,static的使用小结

    C# 中const,readonly,static的使用小结

    这篇文章主要介绍了C# 中使用const,readonly,static的示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01

最新评论