用法一 this代表当前类的实例对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
namespace Demo { public class Test { private string scope = "全局变量" ; public string getResult() { string scope = "局部变量" ; // this代表Test的实例对象 // 所以this.scope对应的是全局变量 // scope对应的是getResult方法内的局部变量 return this .scope + "-" + scope; } } class Program { static void Main( string [] args) { try { Test test = new Test(); Console.WriteLine(test.getResult()); } catch (Exception ex) { Console.WriteLine(ex); } finally { Console.ReadLine(); } } } } |
用法二 用this串联构造函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
namespace Demo { public class Test { public Test() { Console.WriteLine( "无参构造函数" ); } // this()对应无参构造方法Test() // 先执行Test(),后执行Test(string text) public Test( string text) : this () { Console.WriteLine(text); Console.WriteLine( "有参构造函数" ); } } class Program { static void Main( string [] args) { try { Test test = new Test( "张三" ); } catch (Exception ex) { Console.WriteLine(ex); } finally { Console.ReadLine(); } } } } |