2016-06-23 3 views
0

어떻게 이것을 C# 6 Null 조건부 검사로 변환합니까? TotalLengthInSeconds 짧은 널 (NULL)C# 6 Null 조건부 검사

var durationhours = product.ProductAudioAsset.TotalLengthInSeconds != null 
    ? (short?)TimeSpan.FromSeconds(product.ProductAudioAsset.TotalLengthInSeconds.Value).TotalHours 
    : null; 

당신은 도움이 확장 메서드를 만들 수
+0

내가 여분의 일시적를 사용합니다 :

public static short SecondsAsTotalHours(this short value) { return (short)TimeSpan.FromSeconds(value).TotalHours; } 

그럼 당신은이 작업을 수행 할 수 있습니다 명확성을 위해 변수. 왜 당신은 null 조건부가 갈 길이라고 생각합니까? – ClickRick

+0

http://stackoverflow.com/questions/31811392/null-conditional-operator-not-working-with-nullable-types –

+1

왜 '짧은'으로 작업하고 있습니까? 'double'로 머물러보세요. 정확하고 빠릅니다. – Enigmativity

답변

5

:

var durationhours = product.ProductAudioAsset.TotalLengthInSeconds?.SecondsAsTotalHours(); 
+3

좋은 답변입니다. 나는 TimeSpanFromSeconds를 SecondsAsTotalHours 또는 비슷한 이름으로 바꾼다. – CRice

+0

@CRice - 좋은 지적. – Enigmativity