[CS] 함수 메서드에 클래스 참조관련

Sireal·2022년 5월 10일
0

C#

목록 보기
22/30

참고

C# 에서는 클래스와 구조체가 거의 생김새기 비슷하다.
하지만 큰 차이가 생기는데,

클래스는 참조하여 사용하면 클래스 내의 값이 변경이 일어나고
구조체는 참조하여 사용하면 구조체 내의 값이 변경이 안일어난다.

class TheClass
{
	public string? willChange;	// ? 이 붙으면 null 이 들어가면 null 뱉으라는 뜻임.
}

struct TheStruct
{
	public string willChange;
}

class TheClassAndStruct
{
	static void ClassTasker(TheClsss c)
    {
    	c.willChange = "Chatned";
   	}
    static void STructTasker(TheStruct s)
    {
    	s.willChange = "Changed";
    }
    
    static void Main()
    {
    	TheClass testClass = new TheClass();
        TheStruct testSturct = new TheStruct();
        
        testClass.willChange = "Not Changed";
        testStuct.willChange = "Not Changed";
        
        ClassTasker(testClass);
        StuctTasker(testStruct);
        
        Console.WriteLine("Class field = {0}", testClass.willChange);
        Console.WriteLine("Sturct field = {0}", testStruct.willChange);
        
        Console.WirteLine("Press any key to exit");
        Console.ReadKey();
    }
}

// Output:
// Class field = Changed
// Struct field = Not Changed
profile
🚄계속 앞으로🚄

0개의 댓글

관련 채용 정보