관리 메뉴

Algo μ“°μž

18. C# 7.0μ—μ„œ μžλ™ ν”„λ‘œνΌν‹° μ‚¬μš©λ²• λ³Έλ¬Έ

πŸ’» Programming Language/C#

18. C# 7.0μ—μ„œ μžλ™ ν”„λ‘œνΌν‹° μ‚¬μš©λ²•

S.Honey 2022. 4. 7. 09:27
  • μžλ™ ν”„λ‘œνΌν‹° κΈ°λŠ₯은 C# 3.0μ—μ„œ λ„μž…λœ κΈ°λŠ₯

κΈ°μ‘΄ ν”„λ‘œνΌν‹° μ‚¬μš© μ½”λ“œ

         public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public DateTime EntryDate
        {
            get { return entryDate; }
            set { entryDate = value; }
        }

C# 3.0 이후 μžλ™ ν”„λ‘œνΌν‹° μ‚¬μš© μ½”λ“œ

         public string Name
        {
            get; set;
        }

        public DateTime EntryDate
        {
            get; set;
        }

  • C# 7.0 λΆ€ν„°λŠ” μžλ™ ν”„λ‘œνΌν‹°μ— μ΄ˆκΈ°κ°’μ΄ ν•„μš”ν•  λ•Œ μƒμ„±μžμ— μ΄ˆκΈ°ν™” μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ•Όν•˜λŠ” λΆˆνŽΈν•¨μ„ ν•΄μ†Œν•  수 μžˆλ„λ‘ μ΄ˆκΈ°κ°’μ„ λ°”λ‘œ μ„€μ •ν•  수 μžˆλ‹€.
    • μ•„λž˜ μ½”λ“œλ₯Ό 톡해 ν™•μΈν•΄λ³΄μž

κΈ°μ‘΄ C# 3.0μ—μ„œμ˜ μžλ™ ν”„λ‘œνΌν‹° 클래슀

    class EmployeeInfo
{
    public string Name
    {
        get;
        set;
    }

    public DateTime EntryDate
    {
        get;
        set;
    }

    // 근속 μ—°μˆ˜λ₯Ό ꡬ함.
    public int ServiceLength
    {
        // Tick(ν‹±) => μ²œλ§ŒλΆ„μ˜ 1초 = 100 nano second
        // 1 mili second = 10,000 ν‹± 

        get { return new DateTime(DateTime.Now.Subtract(EntryDate).Ticks).Year; }
    }

}
class Program { 
    static void Main(string[] args)
    {
        EmployeeInfo employeeInfo1 = new EmployeeInfo()
        {
            Name = "홍길동",
            EntryDate = new DateTime(2011, 10, 11)

        };

        Console.WriteLine($"이름 : {employeeInfo1.Name}");
        Console.WriteLine($"μž…μ‚¬μΌ : {employeeInfo1.EntryDate.ToShortTimeString()}");
        Console.WriteLine($"κ·Όμ†μ—°μˆ˜ : {employeeInfo1.ServiceLength}");
  }
}
Output

이름 : 홍길동
μž…μ‚¬μΌ : μ˜€μ „ 12:00
κ·Όμ†μ—°μˆ˜ : 11

C# 7.0μ—μ„œμ˜ μžλ™ν”„λ‘œνΌν‹° 클래슀

    class EmployeeInfo
    {
        public string Name { get; set; } = "μ•„λ¬΄λ‚˜"; //μ΄ˆκΈ°κ°’ μ„€μ •
        public DateTime EntryDate { get; set; } = new DateTime(2000,1,1);
        // 근속 μ—°μˆ˜λ₯Ό ꡬ함.
        public int ServiceLength { get { return new DateTime(DateTime.Now.Subtract(EntryDate).Ticks).Year; } } 

    }
  • C# 7.0 λΆ€ν„°λŠ” ν”„λ‘œνΌν‹°λ₯Ό μ„ μ–Έκ³Ό λ™μ‹œμ— μž‘μ„±ν•˜λ©° μ΄ˆκΈ°κ°’λ„ μ„€μ •ν•  수 μžˆλ„λ‘ λ³€ν™”ν•˜μ˜€λ‹€.

객체 μƒμ„±μ‹œ 또 λ‹€λ₯Έ ν•„λ“œ μ΄ˆκΈ°ν™” 방법

static void Main(string[] args)
        {
            EmployeeInfo employeeInfo1 = new EmployeeInfo()
            {
                Name = "홍길동",
                EntryDate = new DateTime(2011, 10, 11)

            };

            Console.WriteLine($"이름 : {employeeInfo1.Name}");
            Console.WriteLine($"μž…μ‚¬μΌ : {employeeInfo1.EntryDate.ToShortTimeString()}");
            Console.WriteLine($"κ·Όμ†μ—°μˆ˜ : {employeeInfo1.ServiceLength}");



            //기쑴에 μ•Œκ³ μžˆλ˜ 객체λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 방법
            EmployeeInfo employeeInfo2 = new EmployeeInfo();
            Console.WriteLine($"이름 : {employeeInfo2.Name}");
            Console.WriteLine($"μž…μ‚¬μΌ : {employeeInfo2.EntryDate.ToShortTimeString()}");
            Console.WriteLine($"κ·Όμ†μ—°μˆ˜ : {employeeInfo2.ServiceLength}");

            employeeInfo2.Name = "고길동";
            employeeInfo2.EntryDate = new DateTime(2005, 5, 25);

            Console.WriteLine($"이름 : {employeeInfo2.Name}");
            Console.WriteLine($"μž…μ‚¬μΌ : {employeeInfo2.EntryDate.ToShortTimeString()}");
            Console.WriteLine($"κ·Όμ†μ—°μˆ˜ : {employeeInfo2.ServiceLength}");
        }
  • 객체λ₯Ό 생성할 λ•Œ 객체의 ν•„λ“œλ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 방법 => 선언방법
                  클래슀λͺ… μΈμŠ€ν„΄μŠ€λͺ… = new 클래슀λͺ…()
                  {
                      ν”„λ‘œνΌν‹°1이름 = κ°’,
                      ν”„λ‘œνΌν‹°2이름 = κ°’,
                      ...
                  }
    

```