none
在C#结构声明中,字段不被声明为 const 或 static,就无法初始化吗? RRS feed

  • 问题

  • 在读C#开发指南,其中 类和结构->结构 章节,有这么一句话:

    • 在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。

    但是我看下面的例子中,字段并没有被声明为const或者static啊,仍然可以被初始化啊。这是为什么?


    虚心的学习者



    • 已编辑 snowffer 2014年2月10日 6:44
    2014年2月10日 6:40

答案

  • 你输入这段代码就可以看到区别

    public struct Mystruct
            {
                public string A = "hello world";
                public static string B = "hello world";
            }

            public class Myclass
            {
                 public string A = "hello world";
            }


    http://feiyun0112.cnblogs.com/

    • 已标记为答案 snowffer 2014年2月10日 8:11
    2014年2月10日 7:27
    版主

全部回复

  • 你输入这段代码就可以看到区别

    public struct Mystruct
            {
                public string A = "hello world";
                public static string B = "hello world";
            }

            public class Myclass
            {
                 public string A = "hello world";
            }


    http://feiyun0112.cnblogs.com/

    • 已标记为答案 snowffer 2014年2月10日 8:11
    2014年2月10日 7:27
    版主
  • 我大体明白了。文中指的初始化,是指在结构的内部声明的同时,进行初始化,而不是在构造函数中初始化,也不是在结构的实例外初始化。

    多谢~


    虚心的学习者

    2014年2月10日 8:10