构造函数用实例化吗?
Str1 s = new Str1();编译通过;但结构中确不能声明无参的构造函数。
new Str1()和 Str1 s 这样的声明有什么区别吗?
public struct Str1
{
public string name;
public int age;
public void Say()
{
Console.WriteLine(name + "-->" + age);
}
public override string ToString()
{
return "我的名字是:" + name + ";我的年龄是:" + age;
}
public Str1(string n, int e)//注意这里,“结构中不支持无参的构造函数”
{
name = "asdf";
age = 1;
}
}
class Program
{
static void Main(string[] args)
{
// Str1 s = new Str1();既然struct不支持无参的构造函数,为什么这里可以用无参的构造函数来创建
Str1 s = new Str1("xx", 0);
// Str1 s;
//s.age = 27;
//s.name = "potoo";
//s.Say();
Console.WriteLine(s.ToString());
Console.ReadKey();
}
}