3가지중 1개로 선택해서 바꿈] 더블 삼항연산자
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개는 아님...
'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글
Mover] 구형 신형. (0) | 2016.07.19 |
---|---|
다른 프로그램을 내 프로그램 판넬에 띄우는 방법 (0) | 2016.02.23 |
[ C# WinForm ] 음.. 달력!! (0) | 2011.03.24 |
그림판? 그림 이동? 별그리기... (2) | 2010.07.23 |
런타임상에서의 컨트롤 사이즈 드래그!!! (0) | 2010.06.10 |