Статические переменные в С#

В С# существует ли способ статической переменной в методе VB.Net?

Static myCollection As Collection

Ответы

Ответ 1

Почему С# не поддерживает статический метод переменные?

Q: В С++ можно написать статической переменной метода и переменная, доступ к которой возможен только изнутри метода. С# не предоставить эту функцию. Почему?

A: Есть две причины, по которым С# имеют эту функцию.

Во-первых, можно получить почти тот же эффект, статический статический класс и метод добавления статика потребует увеличения сложность.

Во-вторых, статика уровня метода несколько печально известный проблемы при вызове кода многократно или из нескольких потоков, и поскольку определения находятся в методов, сложнее найти определения.

- msdn С# faq

Ответ 2

Нет, нет, но как это отличается от статической переменной на уровне класса?

Собственно, если вы посмотрите на то, как реализовано совместное использование, это трюк компилятора, который создает статическое поле в классе.

Ответ 3

Ближайшая вещь к VB.NET Static заключается в создании поля в текущем типе. Кроме того, что С# не имеет эквивалента.

Ответ 4

Нет. CLR не поддерживает это, и VB.NET прибегает к трюкам компилятора, чтобы это разрешить. Тьфу.

Ответ 5

Я уверен, что эквивалент С# const: поэтому:

public const Collection myCollection = new Collection();

Я не слишком хорошо знаком с VB.NET, поэтому я могу быть вне базы, но это позволит вам установить переменную, которая не может быть изменена.