.Net Project/.Net C#

85장 추가연산자

래곤 2009. 8. 17. 13:50
반응형

 추가연산자란 ?
is연산자는 주워진 객체가 특정개체와 호환이 되는지 판단할때 사용
as연산자는 is연산자의 기능에 타입변환의 기능까지 포함한 연산자를 의미
null연산자는 nullable 형식의 값과 비교하여 사용


 nullable 형식 ?
 System.Nullable 구조체의 인스턴스입니다.
 nullable 형식은 내부 값 형식의 일반적인 값 범위에 추가로 null 값을 나타낼 수
 있습니다.
 예를 들어 Nullable<Int32>("Int32의 nullable"이라고 읽음)에는 -2147483648에서 
 2147483647까지의 모든 값을 할당하거나 null 값을 할당할 수 있습니다.  

 Nullable<bool>에는 true, false 또는 null을 할당할 수 있습니다. 숫자 및 부울 형식
 에 null 값을 할당할 수 있는 기능은 특히 값이 할당되지 않을 수 있는 요소를 포함하는 
 데이터베이스 및 기타 데이터 형식을 다룰 때 유용합니다.
 
 예를 들어 데이터베이스의 Boolean 필드는 true 또는 false 값을 저장할 수도 있고,
 정의되지 않을 수도 있습니다.

//is 연산자 : str is string : str 변수에 string 형식인지 검사 : bool  
// as 연산자 : (str is string)  ? str:null; --> is 연산자 + ?: 연산자
// ?? 연산자 : nullable 형식의 값 비교

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 추가연산자
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 10;
            string s = "안녕";
            object o = "hi";
            int? num = null;
            Console.WriteLine("{0}",s is string); //true 
            //hi  //(o is string) ? 0 :null; 삼항연산자에 의해서 값 출력 
            Console.WriteLine("{0}", o as string);       
            Console.WriteLine("{0}",i);
            Console.WriteLine("{0}",(num ?? 1234)); //(num is null) ? 1234 :num;

        }
    }
}

반응형