문제

다음과 같은 불변의 유형이있는 경우 :

struct Point3
{

}

그리고 원산지와 같은 내부의 멤버 :

public static const Point3 Origin = new Point3 (0,0,0);

사용하는 경우 :

new Point3 (0,0,0)

?

유형을 변경할 수 없기 때문에 왜 본질적으로 같은 원점이 있는가? 우리가 0을 바꾸지 않는 것처럼?

불변의 유형에 대해 같은 것을 달성하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

public static readonly Point3 Origin = new Point3(0,0,0);

다른 팁

앤드류가 언급했듯이, 당신은 사용할 수 없습니다 const 이를 위해서는 컴파일 타임 상수가 아니기 때문에.

당신이라면 주목하십시오 ~이다 생성자를 반복적으로 사용하려면 (성능 관점에서) 통화가 더 좋습니다.

new Point3()

~보다

new Point3(0, 0, 0)

컴파일러는 첫 번째 버전이 메모리를 비워 둘 것이라는 것을 알고 있으며 코드를 호출 할 필요가 없습니다.

그러나 나는 제공하는 것과 함께 갈 것입니다 Origin 회원 및 가능한 경우 대신 어디서나 사용하십시오 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top