본문 바로가기

Programming/C#

C# NullType

Nullable Type

 

개요

 
              
  • C#에서는 int, float, struct등 기본 value type은 null을 가질 수 없다.
  •           
  • 필드 변수는 어떤 값이 할당되지 않은 상태 (missing value)를 가질 수 없다. 이러한 이유 때문에 null을 할당 할 수 있는 Nullable 타입을 지원한다.
  •           
  • Nullable 타입은 Value 값을 갖고 있으면서 NULL 상태를 체크할 수 있는 HasValue를 함께 가지고 있다
 

사용법

 
              
  • 타입 옆에 ?를 입력하는 것으로 할 수있다. 
 
int? nullTypeInt;
bool? nullTypeBool;
int?[] nullTypeArray = new int?[100];
 
public class NullableCheck
 
    { 
            public bool NullCheck(int? nullCheckInt, double? nullCheckDouble)
               {
                         bool success = false;
            //null이 있으면  false를 반환 모두 값이 있다면 true를 반환
                                if (nullCheckInt.HasValue && nullCheckDouble.HasValue)
             {
                success = true;
             }
                return success;
             }
    }
 
[TestClass]
 
    public class NullableTest
    {
        [TestMethod]
 
        public void NullableTestMethod()
        {          
            NullableCheck nullableCheck = new NullableCheck();
 
               //true 과 false가 반환된다.
            Assert.AreEqual(nullableCheck.NullCheck(1,2), true);
            Assert.AreEqual(nullableCheck.NullCheck(1,null), false);
           }
    }

'Programming > C#' 카테고리의 다른 글

C# Yield  (0) 2016.02.25
C# Partial Type  (0) 2016.02.18
C# Anonymous Method  (0) 2016.02.18
C# Generic  (0) 2016.02.18
C# -기초-  (0) 2016.02.09