IT박스

C # 기본 키워드의 F #에 해당하는 것은 무엇입니까?

itboxs 2020. 11. 5. 07:49
반응형

C # 기본 키워드의 F #에 해당하는 것은 무엇입니까?


default예를 들어 C # 키워드에 해당하는 것을 찾고 있습니다 .

public T GetNext()
{
    T temp = default(T);
            ...

감사


블로그에서 " 이 C # 코드는 F #에서 어떻게 생겼습니까? (1 부 : 표현식 및 문) "

C #에는 지정된 형식의 0으로 초기화 된 값을 반환하는 "default"라는 연산자가 있습니다.

default(int) 

유용성이 제한적입니다. 가장 일반적으로 제네릭에서 default (T)를 사용할 수 있습니다. F #에는 라이브러리 함수와 유사한 구조가 있습니다.

Unchecked.defaultof<int>

기술적으로 말하면 F # 함수 Unchecked.defaultof<'a>defaultC # 연산자 와 동일합니다 . 그러나 F # defaultof에서는 안전하지 않은 것으로 간주되며 실제로 필요할 때만 사용해야합니다 ( nullF #에서도 권장되지 않는를 사용 하는 것과 같이 ).

대부분의 상황 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수행 할 수있는 유일한 작업입니다. 그러나 defaultofF #에서 덜 자주 사용 된다는 점을 지적하고 싶었습니다 .

참고 URL : https://stackoverflow.com/questions/2246206/what-is-the-equivalent-in-f-of-the-c-sharp-default-keyword

반응형