请问有关string 变量初始化的问题
c# 编译器需要用某个初始值对变量进行初始化,之后才能在操作中引用该变量
但是这段代码:
using System;
namespace Wrox.ProCSharp.Basics
{
class MyFirstCSharpClass
{
static void Main()
{
string ttt;
ttt = Console.ReadLine();
Console.WriteLine(ttt);
Console.ReadLine();
return;
}
}
}
其中仅仅声明了string 引用ttt ,并没有用new初始化string对象
为何也能通过呢??
------解决方案--------------------ttt = Console.ReadLine();
这不就赋值了么 自动初始化
等价于
string tt;
tt= "hello ";
------解决方案--------------------sorry!
我是说错了,string类型的默认是null,而不是 " ",只有值类型的才有默认的值,比如int默认为0.
我没有说错的是如果string没有用变量初始化也是有值的,不过值是null.