문장에서 물음표와 콜론은 의미합니까? 무슨 뜻이에요?
무엇입니까? 콜론은?
((OperationURL[1] == "GET") ? GetRequestSignature() : "")
다음 문장에서 ...
string requestUri = _apiURL + "?e=" + OperationURL[0] + ((OperationURL[1] == "GET") ? GetRequestSignature() : "");
이것은 조건부 연산자 표현식입니다.
(condition) ? [true path] : [false path];
예를 들면
string value = someBooleanExpression ? "Alpha" : "Beta";
따라서 부울 표현식이 참이면 값은 "알파"를 유지하고 그렇지 않으면 "베타"를 유지합니다.
사람들이 빠지는 일반적인 함정 에 대해서는 C # 태그 위키 에서이 질문 을 참조하십시오 .
삼항 조건 연산자 입니다.
앞의 괄호 안의 조건 ?
이 참이면의 왼쪽에있는 값을 반환하고 :
그렇지 않으면 오른쪽에있는 값을 반환합니다.
삼항 연산자이거나 그렇지 않은 경우 짧은 형식입니다.
질환 ? true 인 경우 값 : false 인 경우 값
편집 : 링크 고정
제공 한 특정 경우에는 조건부 할당입니다. 물음표 (?) 앞의 부분은 부울 조건이고 콜론 (:)의 양쪽 부분은 조건의 결과에 따라 할당 할 값입니다 (콜론의 왼쪽은 true, 오른쪽의 값) side는 false의 값입니다).
string requestUri = _apiURL + "?e=" + OperationURL[0] + ((OperationURL[1] == "GET") ? GetRequestSignature() : "");
다음으로 번역 할 수 있습니다.
string requestUri="";
if ((OperationURL[1] == "GET")
{
requestUri = _apiURL + "?e=" + GetRequestSignature();
}
else
{
requestUri = _apiURL + "?e=";
}
이것은 "인라인 if"또는 위의 삼항 연산자라고도합니다. https://en.wikipedia.org/wiki/%3F :
코드를 줄이는 데 사용되지만 코드 유지 관리가 상당히 어려워 질 수 있으므로 한 줄에 많은 것을 사용하는 것은 권장되지 않습니다. 상상해보십시오.
a = b?c:(d?e:(f?g:h));
그리고 당신은 잠시 갈 수 있습니다.
기본적으로 다음과 같이 작성합니다.
if(b)
a = c;
else if(d)
a = e;
else if(f)
a = g;
else
a = h;
귀하의 경우 "string requestUri = _apiURL +"? e = "+ OperationURL [0] + ((OperationURL [1] =="GET ")? GetRequestSignature () :" ");"
다음과 같이 쓸 수도 있습니다. (빈 문자열이므로 else 생략)
string requestUri = _apiURL + "?e=" + OperationURL[0];
if((OperationURL[1] == "GET")
requestUri = requestUri + GetRequestSignature();
또는 다음과 같이 :
string requestUri;
if((OperationURL[1] == "GET")
requestUri = _apiURL + "?e=" + OperationURL[0] + GetRequestSignature();
else
requestUri = _apiURL + "?e=" + OperationURL[0];
선호도 / 상사가 사용하라고하는 코드 스타일에 따라.
"OperationURL [1]"이 "GET"으로 평가되면 "GetRequestSignature ()"를 반환하고 그렇지 않으면 ""를 반환합니다. 여기서 "GetRequestSignature ()"가 문자열을 반환한다고 생각합니다. 구문 CONDITION? A : B는 기본적으로 CONDITION이 참일 때 A가 반환되고 CONDITION이 거짓 일 때 B가 반환되는 if-else를 의미합니다.
'program tip' 카테고리의 다른 글
파이썬에서 컴파일 된 정규식 객체의 유형 (0) | 2020.11.24 |
---|---|
GPU가 CPU보다 더 강력한 이유 (0) | 2020.11.24 |
Java 개발에 사용되는 프로그래밍 언어는 무엇입니까? (0) | 2020.11.24 |
5GB보다 큰 파일에 대해 Amazon-S3 Etag를 계산하는 알고리즘은 무엇입니까? (0) | 2020.11.24 |
jquery, 지우기 / 비우기 tbody 요소의 모든 내용? (0) | 2020.11.23 |