Person Struct (in C#)


// Person.cs
using System;


namespace PersonStructCsharp
{
    struct Person
    {
        // instance member field
        public string name;
        public int age;


        // constructor & destructor
        public Person(string n, int a) { this.name = n; this.age = a; }


        // method
        public void SetName(string n) { this.name = n; }
        public void SetAge(int a) { this.age = a; }


        public void Print() { Console.WriteLine(“Name={0} Age={1}”, this.name, this.age); }        


        public string GetName() { return this.name; }
        public int GetAge() { return this.age; }


    }
}




// PersonStructCsharp.cs
using System;

namespace PersonStructCsharp
{
    class PersonStructCsharp
    {
        static void Main(string[] args)
        {
            Person p1; // 멤버변수가 public일경우 Person p1으로 사용가능하나
            p1.name = “고소영”; // 반드시 모든 멤버변수의 값을 초기화해야함
            p1.age = 5;         // 멤버변수가 모두다 초기화되지 않음 사용불가능
            p1.Print();           // 멤버변수가 초기화가 되야 비로소 멤버함수도 사용가능


           // 일반적으로 C#에서 struct을 사용하는 형태
           // 단 default construct 경우, string은 null로, int는 0으로 초기화를 함
            p1 = new Person();            
            p1.Print();
            p1.SetName(“이나영”);
            p1.SetAge(10);
            p1.Print();


           // 더욱 일반적으로 C#에서 struct을 사용하는 형태
            Person p2 = new Person(“소간지”, 20);
            p2.Print();
        }
    }
}

Leave a Reply

Your email address will not be published. Required fields are marked *