C #에서는이 예제에서 PropertyC의 값을 가져 오려고하며 ObjectA, PropertyA 및 PropertyB는 모두 null 일 수 있습니다.
ObjectA.PropertyA.PropertyB.PropertyC
최소한의 코드로 PropertyC를 안전하게 얻으려면 어떻게해야합니까?
지금 확인합니다.
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
이와 같은 (의사 코드) 더 많은 것을하는 것이 좋을 것입니다.
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
null-coalescing 연산자로 훨씬 더 축소되었을 수 있습니다.
편집 원래 두 번째 예제는 js와 비슷하다고 말했지만 js에서 작동하지 않는다고 올바르게 지적 되었기 때문에 가짜 코드로 변경했습니다.
ObjectA
또는PropertyA
null입니다.