퇴근5분전

            string align = "LEFT";
            string align1 = align != "LEFT" ? align != "RIGHT" ? "Center" : "Right" : "Left" ;

 

 

3개의 값중 1개로 값을 바꾸고 싶을때....

 

위는 대문자로 된 문자열을 소문자로 바꾸는 역할을 사용하는 것임.

 

응용!!!


string f = "1"; 
1) string selected = ( val != "1" ? "아닌것" : "일" );   요렇게 기본적인 삼항연산자에서!!

string selected = (val != "1" ? (val != "1" ? "아닌것" : "일") : "일");  요렇게 끼워넣고,

string selected = (val != "1" ? (val != "2" ? "아닌것" : "이") : "일"); 수정하면 이제 세가지 중 하나를 선택하게되었음.

 

2)  string selected = (val != "1" ? (val != "2" ? "아닌것" : "이") : "일"); 에서

string selected = (val != "1" ? (val != "2" ? (val != "2" ? "아닌것" : "이") : "이") : "일");  요렇게 또 끼워넣고,

string selected = (val != "1" ? (val != "2" ? (val != "3" ? "아닌것" : "삼") : "이") : "일"); 수정하면 됨..  계속 증가 가능함.

 

여라가지 선택조건에서 원하는 값으로 변경이 가능하게 됨.  괄호는 이해하기 편하게 쓴것이고,

보기어렵게 만들고 싶으면...

 

 

응용 투~!!

            Func<int> AFunc = () => { return (int)'a'; };
            Func<int> BFunc = () => { return (int)'b'; };
            Func<int> CFunc = () => { return (int)'c'; };

            string call = "C";
            int result = (call != "A" ? call != "B" ? CFunc : BFunc : AFunc)();

 

위에서 오류? 다시 생각해보니 3가지중 2가지는 선택이 맞지만 나머지는 두 값이 아니면 선택되는 것이므로..

 # 딱 3중에 1개는 아님...