Какова реальная разница между статическим конструктором C# и Java статический блок?
Они оба должны быть без параметров. Их оба называют только однажды, когда связанный класс сначала используется.
Я пропускаю что-то, или действительно ли они - то же самое, только с различными именами?
Они эквивалентны, за исключением того, что класс C # может иметь только один статический конструктор (плюс инициализаторы статических полей).
Кроме того, в C # конструктор static
применит флаг beforefieldinit
.
Это не так.
В C# блоки могут содержать только конструкторы. В java вы можете выполнять операторы.