? : 연산자를 사용하려면 다음 코드를 어떻게 변환합니까? 가능한가요?사용 방법 : 연산자 :
tbtotalamount.Text = string.Format("{0:n2}", dtl.Compute("sum(NetPay)", ""));
if (tbtotalamount.Text.Length == 0)
{
tbtotalamount.Text = "0";
}
? : 연산자를 사용하려면 다음 코드를 어떻게 변환합니까? 가능한가요?사용 방법 : 연산자 :
tbtotalamount.Text = string.Format("{0:n2}", dtl.Compute("sum(NetPay)", ""));
if (tbtotalamount.Text.Length == 0)
{
tbtotalamount.Text = "0";
}
인용 된 코드가 만 삼항 연산자의의 conditional operator (라고도 "삼항 연산자"기술적으로하지만 호출되는 ? :
연산자를 사용하여 혜택을하지 않을 — 예를 들어, 세 개의 피연산자이있는 운영자).
일반적으로 조건부 연산자는 변수가 있고 조건에 따라 두 값 중 하나를 지정하려는 경우에 편리합니다. 그래서이 형태의 코드 :
if (someCondition) {
a = "one value";
}
else {
a = "a different value";
}
가 귀하의 경우에는
a = someCondition ? "one value" : "a different value";
를 다시 쓸 수는 있지만, 당신은 '당신, 그래서
string.Format
을 완료 한 후까지
tbtotalamount.Text
가 비어 모르겠어요
if
으로 남겨 두는 것이 좋습니다.
예. 방법은 다음과 같습니다.
string test = string.Format("{0:n2}", dtl.Compute("sum(NetPay)", ""));
tbttotalamount.Text = test.length == 0 ? "0" : test;
너무 많은 downvotes를 보니 미안 해요, 나는 익숙하지 않은가요? (삼원 항) 연산자도 매우 오랜 시간 동안. 나는 그것이 매우 편리하다고 생각한다.
왼쪽은 테스트 표현식입니다. 평가 후에는 부울이어야합니다. 오른쪽은 연산자가 반환하는 값입니다. true이면 :
의 왼쪽으로 값을 반환합니다. false이면 오른쪽 값입니다. 전체 식은 무언가를 반환하며, 컴파일러는 여러분이 무언가를 할 것을 요구합니다. 반환 유형이 void
인 함수를 호출하는 if-else 문을 대체하려면 삼항 연산을 사용할 수 없습니다. 내가 말하고 무엇을 의미
는 (나 같은) 전에 사용한 적이 많은 사람들이 그것을 하지 경우 - 다른 교체하는 순수 생각하는 것이다.
http://msdn.microsoft.com/en-us/library/ty67wk28.aspx – zerkms