Language/C#

C# - 제네릭 Generics

청렴결백한 만능 재주꾼 2021. 1. 22. 00:28
반응형

Generics are introduced in c# 2.0. Generics allow us to design classes and methods decoupled from the data types.

 

Generic classes are extensively used by collection classes available in System.Collections.Generic namespace.

 

메소드나 클래스를 지정할 때에 형식에 자유롭게 하고 실행시킬때에 지정하여 주는 것.

아래의 예시는 클래스에 제네릭을 넣었다.

class 정의할때에 <T>가 옆에 들어갔고 그래서 위에 클래스를 불러올때에 옆에 <int>라고 타입을 넣어준 모습

using System;

namespace ISTJ
{
    public class MainClass
    {
        private static void Main()
        {
            bool Equal = Calculator<int>.AreEqual(10, 10);

            if (Equal)
            {
                Console.WriteLine("Equal");
            }
            else
            {
                Console.WriteLine("Not Equal");
            }
        }
    }

    public class Calculator<T>
    {
        public static bool AreEqual(T value1, T value2)
        {
            return value1.Equals(value2);
        }
    }
}

 

 

method에 generic<T>를 넣어 위에 그 메서드를 불러올 때에 메서드 옆에 <int>를 붙인 모습

using System;

namespace ISTJ
{
    public class MainClass
    {
        private static void Main()
        {
            bool Equal = Calculator.AreEqual<int>(10, 10);

            if (Equal)
            {
                Console.WriteLine("Equal");
            }
            else
            {
                Console.WriteLine("Not Equal");
            }
        }
    }



    public class Calculator
    {
        public static bool AreEqual<T>(T value1, T value2)
        {
            return value1.Equals(value2);
        }
    }
}

 

반응형