白日梦想jun
2017-11-22 08:27
采纳率: 58.7%
浏览 3.0k

C# 结构中不能有实例字段初始值设定项

        struct Information
        {
            public string _name = "ss";  //请问这里为什么不可以初始化呢
            public int _age;


            public Information(string name, int age)
            {
                _name = name; 
                _age = age;
                                //如果是说结构体字段有默认的初始值,不能内联初始化,但是为什么这里又可以初始化呢?
            }


            public void showInfo()
            {
                Console.WriteLine("hahahha!");
            }
        }

       Information info1 = new Information();
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qq_39571820 2017-11-22 09:34
    已采纳

    结构中的字段是有默认值的,你给它赋值了到底是取你的值还是取默认的值呢?

    点赞 评论
  • ncut_zhangzaiyin 2017-11-22 09:23

    并不是都不能赋初值,结构中的静态成员或常量还是可以赋初值的。

    点赞 评论
  • ncut_zhangzaiyin 2017-11-22 09:30

    呃。。。看错了 你这段代码你编译过吗

    点赞 评论
  • shifenglv 2017-11-22 10:14

    string 是一个类,类是不能在方法之外初始化。

    点赞 评论

相关推荐 更多相似问题