문제

C#에서는 vb.net과 같은 방법에 정적 변수를 넣는 방법이 있습니까?

Static myCollection As Collection
도움이 되었습니까?

해결책

C#이 정적 메소드 변수를 지원하지 않는 이유는 무엇입니까?

Q : C ++에서는 정적 메소드 변수를 작성할 수 있으며 메소드 내부에서만 액세스 할 수있는 변수를 가질 수 있습니다. C#은이 기능을 제공하지 않습니다. 왜요?

A : C# 에이 기능이없는 두 가지 이유가 있습니다.

첫째, 클래스 수준의 정적을 가짐으로써 거의 동일한 효과를 얻을 수 있으며, 방법 정적을 추가하려면 복잡성이 증가해야합니다.

둘째, 방법 레벨 정적은 코드가 반복적으로 또는 여러 스레드에서 호출 될 때 문제를 일으키는 것으로 유명하며, 정의가 메소드에 있기 때문에 정의를 찾기가 더 어렵습니다.

-- MSDN C# FAQ

다른 팁

아니오는 없지만 클래스 수준에서 정적 변수를 갖는 것이 어떻게 다른가요?

사실 당신이 보면 공유가 구현되는 방식으로 클래스에서 정적 필드를 만드는 컴파일러 트릭입니다.

vb.net의 가장 가까운 것 Static 현재 유형에서 필드를 만드는 것입니다. 그 외에는 C#은 동등한 것이 없습니다.

아니요, CLR은 이것을 지원하지 않으며 VB.NET은 컴파일러 트릭에 리조트합니다. 어.

나는 c# 동등한 일이 확실하다고 확신합니다 const: 그러므로:

public const Collection myCollection = new Collection();

나는 vb.net에 너무 익숙하지 않으므로 기본에서 벗어날 수 있지만 변경할 수없는 변수를 설정할 수 있습니다.

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