Что ключевое слово "new" делает со структурой в C#?

В C# структуры управляются в терминах значений, а объекты - по ссылкам. Насколько я понимаю, при создании экземпляра класса ключевое слово new заставляет C# использовать информацию о классе для создания экземпляра, как показано ниже:

class MyClass
{
    ...
}
MyClass mc = new MyClass();

Для struct вы не создаете объект, а просто устанавливаете переменную в значение:

struct MyStruct
{
    public string name;
}
MyStruct ms;
//MyStruct ms = new MyStruct();     
ms.name = "donkey";

Чего я не понимаю, так это если объявить переменные по MyStruct ms = new MyStruct(), что ключевое слово new здесь делает с утверждением? . Если struct не может быть объектом, что инстанцирует new здесь?

64
задан jbat100 7 July 2017 в 12:17
поделиться