삼항연산자 중복...
예전에 본것같은데 기억이 안나서
직접 해놓고 해당 값이 어떻게 출력되는지 뽑아 보았다.
왜썼는지는 일끝나고... 추가..
public Form1()
{
InitializeComponent();
//null;
string Target = "ㅁㅁㅁ";
this.Text = Target == null ? 1 > 0 ? "_1" : "_2" : "_3" ;
/*
* 조건 1 조건 2 결과
* 참 참 _1
* 참 거짓 _2
* 거짓 거짓 _3
* 거짓 참 _3
*/
// this.Text = Target ?? (Target != null ? "!" : "_"); // 결과는 _ null이니까.
}
추가 내용 :
소스 상에서 특정 변수값이 null인지를 따져야 하고 다음으로 이값이 어떤 특정값인지체크 하기 위해 작성을 하다보면
간혹 이런 코드라인이 한두줄 걸쳐서 나올때 if문 갯수가 눈을 어지럽히게 된다.
if( 객체 != null && 객체 == 특정값)
{
처리1;
}
else
{
처리 2;
}
.. 한두줄 다른거 체크
if( ... 위에 로직 반복... )
.. 한두줄 다른거 체크..
이러다보면 몇라인 보지도 못하고 화면을 계속 스크롤 해야 하는 경우가 생기는데..
삼항 연산자를 중복으로 사용하여 같은 처리 로직을 만든다 .
물론 조건1? 조건2 ? 조건1 && 조건2 가 참 : 조건1 참 , 조건2 거짓 : 조건1이 거짓 ; 이
로직을 모를경우 문제가 되겠지만... 이런건 간단한 주석으로 알려줄수 있는 문제이다.
위를 간단히 해석하고 싶으면 () 를 이용하면 된다 .
조건1? ( 조건2 ? 조건1 && 조건2 가 참 : 조건1 참 , 조건2 거짓 ) : 조건1이 거짓 ;
조건 1 에 걸렸을때
참 ->( 다음 조건식 => 참 -> 첫번째 반환값이 ,
거짓 -> 다음식에 거짓값인 가운데 값이 반환 )
거짓 -> 끝에 거짓 값이 반환
null ? 1 > 0 ? "_1" : "_2" : "_3" ;
'# 1) 프로그래밍' 카테고리의 다른 글
배열 정렬하기...? (0) | 2010.02.25 |
---|---|
Enum객체 관련 설명. (0) | 2010.02.10 |
머리에 물주전자 올려 뎁혀서 커피 한잔? (0) | 2010.01.25 |
VS : 정의 보기 -> 되돌아가기.. 단축키 (1) | 2010.01.22 |
나만에 개발방법... (0) | 2010.01.13 |