c#中this

1.和c++中一样,指当前的对象。

2.用于传递构造函数。eg

class TestA
{
    public TestA()
    {
        Console.WriteLine("Default Constructor");
    }
    public TestA(int a)
        : this()
    {
        Console.WriteLine("One parameter Constructor {0}",a);
    }
    public TestA(int a, int b)
        : this(a)
    {
        Console.WriteLine("2 parameter constructor");
    }
}

3.用于实现索引:

  public class IndexTest
    {
        int[] a = new int[10];

        public int this[int index]
        {
            get
            {
                return a[index];
            }
            set
            {
                a[index] = value;
            }
        }
    }

 这样就可以直接使用IndexTest对象的[]操作。

4.为原始类型扩展方法 

扩张方法三要素:

  • 静态类。
  • 静态函数
  • this关键字

比如扩展string


    //1.静态类
    public static class ExtentString
    {
        //静态函数+this.length是Fun函数的第一个参数。
        public static int Fun(this string s, int length)
        {
            return s.Length + length;
        }
    }

 


使用的时候:

        string _tempstring  = "sfsfa";
        _tempstring.Fun(10);

 

 

 

  

posted on 2017-07-07 14:59  bingbingzhe  阅读(140)  评论(0编辑  收藏  举报