class test
{
public pb=new PhoneBook();
public static void Main()
{
                  
pb.name = "test";
pb.age = 16;
Console.WriteLine(pb.name);
}
}

解决方案 »

  1.   

    using System;
    struct PhoneBook
    {
    public string name;
    public uint age;
    }
    class test
    {
    public static void Main()
    {
                      PhoneBook pb;
    pb.name = "test";
    pb.age = 16;
    Console.WriteLine(pb.name);
    }
    }
      

  2.   

    好像Console Application就要求这种格式,即不能有类的属性!
      

  3.   

    to DTWUJP(建平.net) 你那种做法我试过,还是不正确.to yellowhwb(KaDoo) 
    程序是对了.
    但是未明白为什么结构不能作为类的属性?
    是否结构体作为类的属性有另外的语法要求?
    Console Application如果硬性要求这样,个人觉得是比较不合理的.毕竟把结构体作为某个类的属性还是有一定的普遍性的.谢谢两位:)
      

  4.   

    C#中好像就是不能把结构体作为类的属性,
    你说的把结构体作为类的属性有普遍性,确实是,C#中有替代方案的,你只要把struct改为class就可以了嘛,就改一个关键字,也不麻烦:)
      

  5.   

    不是不能把结构体作为类的属性,而是在Console Application中格式就是
    class test
    {
    public static void Main()
    {
                     ...
    }
    }即使int类型也不能在Console Application中作为属性!
      

  6.   

    你写dll时候是可以把结构体作为类的属性的!
      

  7.   

    上面错了,问了人才知道:
    public static void Main()
    {
           ...
    }Main函数作为入口点是静态函数,不能访问实例变量,如果你改成下面就可以了:
    using System;
    struct PhoneBook
    {
    public string name;
    public uint age;
    }
    class test
    {
    public   static       PhoneBook pb; public static void Main()
    {
    pb.name = "test";
    pb.age = 16;
    Console.WriteLine(pb.name);
    }
    }
      

  8.   

    弄明白了 ^^ 谢谢yellowhwb(KaDoo)