프로그래밍 언어/C#

C# this키워드

원원 2021. 10. 23. 21:56

안녕하세요. 오늘은 C# this에 대해 알아보겠습니다

this는 객체 자기 자신을 지칭할 때 사용합니다. 객체 내부에서 자신의 필드나 메소드에 접근할때 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace practice
{
    class person
    {
        public string name;
 
        public person(string name)
        {
            this.name = name;
        }
 
    }
 
    static class Program
    {
        static void Main()
        {
            person ps = new person("nana");
            Console.WriteLine(ps.name);
        }
    }
}
cs

5번째줄에 변수 name이 있고 7번째줄에 매개변수로 name이 있습니다.
9번째줄 this.name을 하면 5번째줄에있는 name변수를 가리키는게 됩니다.

 

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
namespace practice
{
    class person
    {
        public string name;
 
        public person(string name)
        {
            this.name = name;
        }
 
        public String get_name()
        {
            return name;
        }
 
        public void see_name()
        {
            Console.WriteLine(this.get_name());
        }
 
    }
 
    static class Program
    {
        static void Main()
        {
            person ps = new person("nana");
            ps.see_name();
 
        }
    }
}
cs

위의 예시는 this를 사용해서 함수를 호출했습니다.

 

그리고 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
37
38
39
40
41
42
43
44
45
46
47
namespace practice
{
    class person
    {
 
        public person()
        {
            Console.WriteLine("0:");
        }
 
        public person(String name1) : this()
        {
            Console.WriteLine("1:" + name1);
        }
 
        public person(String name1, String name2) : this(name1)
        {
            Console.WriteLine("2:" + name1 + " , " + name2);
        }
 
        public person(String name1, String name2, String name3) : this(name1,name2)
        {
            Console.WriteLine("3:" + name1 + " , " + name2 + " , " + name3);
        }
 
 
 
    }
 
    static class Program
    {
        static void Main()
        {
            Console.WriteLine("----------------------------");
            person ps0 = new person();
            Console.WriteLine("----------------------------");
            person ps1 = new person("nana");
            Console.WriteLine("----------------------------");
            person ps2 = new person("nana","you");
            Console.WriteLine("----------------------------");
            person ps3 = new person("nana","you","wowon");
            Console.WriteLine("----------------------------");
 
 
        }
    }
}
cs

결과
----------------------------
0:
----------------------------
0:
1:nana
----------------------------
0:
1:nana
2:nana , you
----------------------------
0:
1:you
2:you , nana
3:nana , you , wowon
----------------------------

'프로그래밍 언어 > C#' 카테고리의 다른 글

C# 시리얼통신 데이터 잘려서 읽히는 경우  (2) 2021.11.27
C# 예외처리 try,catch,finally  (0) 2021.11.14
C# 생성자  (0) 2021.10.18
C# Format 메소드 사용하기  (0) 2021.10.02
C# 문자열 다루기  (0) 2021.10.02