기술적으로 차이점은 IDisposable
개체를 만들 때 new
을 사용해야하며 nyinyithann은 이미 설명했습니다. 또 다른 차이점은 제네릭 형식 만들 때 형식 인수를 생략 할 수 있다는 것입니다 :이 두 가지에서 제외
// Works and creates Dictionary<int, string>
let r1 = System.Collections.Generic.Dictionary 10
r1.Add(10, "A")
// You get a compiler error when you write this:
let r2 = new System.Collections.Generic.Dictionary 10
r2.Add(10, "A")
을, 기술적 인 차이가 없다 (당신이 작성하거나 new
을 생략 할 때 생성 된 IL의 차이는 확실히 없음) .
다음 중 어느 것을 사용해야합니까? 이것은 스타일의 문제입니다. 이것은 F # 코딩 표준에 포함되지 않으므로 선호도에 따라 다릅니다. 이제 나는 그것에 대해 생각하고있다. 아마 나는 매우 일관된 스타일을 가지고 있지 않을 것이다. 인수 (다음 예제 예를 들어 Size
또는 Point
로 사용되는 개체를 만들 때, 나는 보통 new
를 사용하지 않는
let rnd = new Random()
: 나는 인스턴스를 만들 때 일반적으로 let
를 사용하여 가치를 할당 할 new
을 사용하여 생각) :
let frm = new Form(Size = Size(600, 400))
let gr = frm.CreateGraphics()
gr.FillRectangle(Brushes.Red, Rectangle(Point(0, 0), Point(100, 100)))
아마도, 나는 또한 (하지만 난 너무 일관 이렇게 생각하지 않는다) 더 복잡한 유형 new
을 사용하여 선호 간단한 유형 또는 .NET 값 유형을 피하십시오.
나는 이것이 유일한 단 하나의 차이라고 기대하지 않았다 :) 고마워. – Andry