关于#c##的问题:想询问一下C#中使用new来创建一个实例和直接声明一个实例的区别是什么

新手,刚刚接触C#。想询问一下C#中使用new来创建一个实例和直接声明一个实例的区别是什么?我四处查找了一下只看出来使用new的时候会在堆中开辟一块内存,直接声明时会在栈中储存。
除此之外的区别是什么?

声明一个对象引用的格式:类名 对象名;
声明语句中的对象名作为一个引用类型变量,存储的并不是实际对象,存储的是实际对象在内存中的地址,此时真正的对象并没有被创建,对象名的值为null。未指向内存中的任何地址。如代码声明一个Reader类的对象引用Tom:Reader Tom;还需要使用new来创建对象,通过赋值语句将之前声明的对象Tom与创建的这个对象建立关联,通常说让对象引用Tom指向新对象:Tom=new Reader();
一般,同时声明对象引用和创建对象:类名 对象名=new 类名(); 如Reader Tom=new Reader();
只声明对象不创建,在访问对象成员时为null会引发异常。

我后来看了一下。一直纠结的就是

string text1 = new(" text1");
//
string text2 = "text2";

这两句话之间的区别,希望靠这个来作为切入口来看出来 new 的作用。
但实际上是选错了,这两句话没有什么差别,但凡换一个例子就能看出来new的实例化的作用。
也希望后面的人看到了别再纠结string类的初始化要不要用new的问题了。