Является ли _instance соглашением об именах любого вида в C #?
Во-первых, несколько человек ссылались на правила именования. Обратите внимание, что многие из этих рекомендаций применимы только к публичной площади поверхности типа. Частные участники, подобные тому, который вы упомянули, являются внутренними деталями реализации и, следовательно, подчиняются политике организации, которая их произвела, а не руководствам по разработке структуры для того, что люди ожидают увидеть в публичном элементе.
Для подробностей частной реализации префикс подчеркивания часто встречается во многих организациях. Лично я не думаю, что это необходимо, но некоторым людям это нравится.
Однако важно то, что даже для частных деталей реализации вы никогда не должны использовать две подчеркивания. Команда компилятора C # оставляет за собой право создавать любое слово, начинающееся с двух подчеркиваний, чтобы иметь любое значение, которое мы выбираем в какая-то будущая версия языка. Это наш «аварийный люк» на тот случай, если нам действительно нужно действительно добавить новое неконтекстное зарезервированное ключевое слово и действительно, мы действительно не хотим нарушать какой-либо существующий код.
Это описано в разделе 2.4.2 спецификации C # 4.