C# 기본 키워드의 F#에 해당하는 것은 무엇입니까?
문제
나는 C#과 동등한 것을 찾고 있습니다. default
키워드, 예를 들어 :
public T GetNext()
{
T temp = default(T);
...
감사
해결책
블로그에서 이것을 찾았습니다. "이 C# 코드는 F#에서 어떤 모습입니까? (1 부 : 표현 및 진술)"
C#에는 주어진 유형의 제로 시작 값을 반환하는 "Default"라는 연산자가 있습니다.
default(int)
유틸리티가 제한되어 있습니다. 가장 일반적으로 일반적인 기본값 (t)을 사용할 수 있습니다. F#은 라이브러리 기능과 유사한 구성을 가지고 있습니다.
Unchecked.defaultof<int>
다른 팁
기술적으로 F# 기능을 사용합니다 Unchecked.defaultof<'a>
와 동일합니다 default
C#의 연산자. 그러나 나는 그것이 주목할 가치가 있다고 생각합니다 defaultof
로 간주됩니다 위험한 F#의 물건은 실제로 필요한 경우에만 사용해야합니다 (사용하는 것처럼 null
, F#에서도 낙담합니다.
대부분의 상황에서 defaultof
사용함으로써 option<'a>
유형. 값을 아직 사용할 수 없다는 사실을 나타낼 수 있습니다.
그러나 다음은 아이디어를 보여주는 간단한 예입니다. 다음 C# 코드 :
T temp = default(T);
// Code that may call: temp = foo()
if (temp == default(T)) temp = bar(arg)
return temp;
아마도 F# (명령 적 기능 사용)에서 다음과 같이 쓰여질 것입니다.
let temp = ref None
// Code that may call: temp := Some(foo())
match !temp with
| None -> bar(arg)
| Some(temp) -> temp
물론 이것은 특정 시나리오에 따라 다르며 경우에 따라 defaultof
당신이 할 수있는 유일한 일입니다. 그러나 나는 단지 그것을 지적하고 싶었다 defaultof
F#에서 덜 자주 사용됩니다.
제휴하지 않습니다 StackOverflow