在C#中,结构是根据值进行管理的,对象是引用的.根据我的理解,在创建类的实例时,关键字new会导致C#使用类信息来创建实例,如下所示:
class MyClass
{
...
}
MyClass mc = new MyClass();
Run Code Online (Sandbox Code Playgroud)
对于struct,您不是创建对象而只是将变量设置为值:
struct MyStruct
{
public string name;
}
MyStruct ms;
//MyStruct ms = new MyStruct();
ms.name = "donkey";
Run Code Online (Sandbox Code Playgroud)
我不明白的是,如果声明变量by MyStruct ms = new MyStruct(),new这里的关键字是什么?.如果struct不能成为对象,那么new这里实例化是什么?
只是好奇,有什么区别:
int A = 100;
Run Code Online (Sandbox Code Playgroud)
和
int A = new int();
Run Code Online (Sandbox Code Playgroud)
我知道new用于在堆上分配内存..但我真的没有在这里得到上下文.