0

이 추가 심문 무엇 :나는이 조건이 널 유착 연산자

if (dr_dados["DAT_SAIDA"] != null) 
    { 
     txtDataSaida.Text = ""; 
    } 
    else 
    { 
     txtDataSaida.Text = dr_dados["DAT_SAIDA"].ToString(); 
    } 

내가 Jetbrain의 ReSharper에서 사용하고는 그리고 그것이 내가 삼항 작업으로 변환 할 수 나에게 말했다.

그래서,이되었다 :

txtDataSaida.Text = (dr_dados["DAT_SAIDA"] != null) ? dr_dados["DAT_SAIDA"].ToString() : ""; 

을하지만 그것은 내가 널 합체 작업으로 변환 할 수 나에게 말했다, 그것은 나에게이 준 :

txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? ""; 

내가 종류의 무엇을 알고를 null 병합 수술은하지만 뭔가 다른 것이 있는데, 전에 보지 못했던 것과 나는 무엇인지 알고 싶습니다.

바로 여기이 추가 질문 :

          v 
txtDataSaida.Text = dr_dados["DAT_SAIDA"]?.ToString() ?? ""; 

은 무엇입니까/건가요?

+0

심볼에 어떤 용어를 사용해야할지 모르겠다. 그 의미가 무엇인지 모르기 때문에 어떤 것도 검색 할 수 없었다. 이 질문에 다른 질문이 있으면 중복으로 표시하십시오. – Phiter

+1

[C# 6.0 기능] (https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23- 6). 더 많이 볼 것이기 때문에 그들과 사귀어 라. – Steve

+0

아, 이건 새로운 기능입니다. 우리 프로덕션 서버에 C# 6.0이 있는지 확실하지 않습니다. 정보를 주셔서 감사합니다 – Phiter

답변

6

Null 조건부 연산자입니다.

실제로 회원 액세스를 수행하기 전에 null을 확인하는 데 사용됩니다. 액세스하려는 멤버가 실제로 null 인 경우 예외가 발생하지 않고 null 값이 반환됩니다.

+0

오, 멋지다! 그럼 당신은 빠르므로 나는 이것을 수용된 대답으로 확인해 볼 것입니다. 미래의 잠재 시청자에 대한 더 많은 설명과 예제를 추가하십시오.) – Phiter

+1

Matias의 벼락을 훔치지 말고 [SO의 문서 사이트에 몇 가지 예가 있습니다.] (http://stackoverflow.com/documentation/c%23/ 41/널 조건부 연산자/173/널 조건부 연산자) – Scott

관련 문제