, 나는 DICT를 가지고 있고, 나는 키가 나는 같은 것을 할 줄 존재하지 않을 수 딕셔너리에서 값을 얻으려면 :C# 사전 파이썬의 GET에 해당() 메소드 파이썬에서
lookupValue = somedict.get(someKey, someDefaultValue)
을
여기서 someKey
이없는 경우 someDefaultValue
이 반환됩니다. C#에서
은 좀 유사하다 TryGetValue()
있다 :
var lookupValue;
if(!somedict.TryGetValue(someKey, lookupValue))
lookupValue = someDefaultValue;
하나 잡았다는 someKey
다음 null
경우 예외가 발생됩니다 있다는 것입니다
var lookupValue = someDefaultValue;
if (someKey != null && !somedict.TryGetValue(someKey, lookupValue))
lookupValue = someDefaultValue;
TBH가 칙칙합니다 (dict 조회의 경우 3 줄입니까?) 파이썬의 get()
과 같은 더 간결한 (즉 1 줄) 방법이 있습니까?
Afaik 그런 식으로 존재하지 않습니다. 하지만이 세 줄을 감싸기 위해 항상 자신 만의 확장을 정의 할 수 있습니다. 아니면 삼자를 사용하여 하나의 라이너를 만들 수도 있지만 접근 방식과 다르지 않습니다. – Andrei
제 3의 튜토리얼은 여전히 하나의 라이너가 아닙니다. 여러분이''lookupValue''를 선언하기 전에' ''TryGetValue'''가 맞습니까? –
'var lookupValue = someKey! = null? somedict.TryGetValue (someKey, someDefaultValue) : someDefaultValue;'내가 뭔가를 놓치지 않는 한.그러나 다시 한번, 전혀 멋지게 보입니다. – Andrei