'! ??'와 같은 단항 연산자를 선언 할 수있는 방법이 있습니까?새 연산자 "!"를 어떻게 선언 할 수 있습니까? (테스트 객체가 null이 아님)
나는 자신이 자주 어색함
// day is a value and might be null
string greeting = day != null ? "hello there " + name : "";
을 할 필요 찾아이 같은 (비 작동 코드)
public bool operator !??<T> (this <T> item) {
return item != null;
}
그래서 나는 그런
// day is a value and might possibly be null
string greeting = name !?? "hello there " + name;
처럼 사용하는 것이 상상
필자가 제공 한 예제에서는 상당히 명확하지만 getter/setter 뷰 모델에 대해서는 약간 헷갈 렸고 논리적 인 오류가 누락 될 가능성이 높아졌습니다. 따라서 :
public DateTime? SearchDate {
get { return _searchDate; }
set { _searchDate = value != null ? value.Value : value; }
}
이 완전히 불가능 통해 구현입니다. 그러나 C# 6의 '?'. – SLaks
# EricLippert는 이미 C# 6.0이나 그와 같은 연산자를 발명했습니다. – AgentFire
또한 _binary_ 연산자입니다. – SLaks