黑马程序员技术交流社区

标题: 谁能帮帮忙,结构体问题 [打印本页]

作者: lgh521911    时间: 2013-10-6 19:18
标题: 谁能帮帮忙,结构体问题
本帖最后由 lgh521911 于 2013-10-6 22:14 编辑

       报告大家一个好消息,问题解决啦!报错问题是由于我没有往后面复习,报错第原因还是我小兄弟跟我讲第枚举类型与结构体不在同一级别,这个代码输出没问题啦,多谢大家参与,这个就不用给分了哈,别人答对了可以给~~~有点乱 呵呵
  1.    public enum Gender
  2.     {
  3.         男,
  4.         女
  5.     }
  6.     public struct Person
  7.     {
  8.         public string name;
  9.         public Gender sex;
  10.         public int age;

  11.     }
  12.     class Program
  13.     {

  14.         static void Main(string[] args)
  15.         {
  16.            
  17.             #region 结构体
  18.             Person onePerson;
  19.             onePerson.name = "张三";
  20.             onePerson.sex = Gender.男;
  21.             onePerson.age = 20;
  22.             Console.WriteLine("我叫{0},{1},今年{2}", onePerson.name, onePerson.sex, onePerson.age);

  23.             Person secPerson;
  24.             secPerson.name = "小花";
  25.             secPerson.sex = Gender.女;
  26.             secPerson.age = 18;
  27.             Console.WriteLine("我叫{0},{1},今年{2}", onePerson.name, onePerson.sex, onePerson.age);
  28.             Console.ReadKey();
  29. #endregion
复制代码
先谢了,问题是“我在调试的时候会报错”可访问性不一致,字段类型“视频复习结构体.Gender"比"视频复习结构体”.Person.sex的可访问性低

作者: 面朝大海,春暖    时间: 2013-10-6 19:35
我复制你的代码调试了一遍
作者: 面朝大海,春暖    时间: 2013-10-6 19:35
没报错!
作者: lgh521911    时间: 2013-10-6 20:32
面朝大海,春暖 发表于 2013-10-6 19:35
我复制你的代码调试了一遍

结果呢?


作者: 面朝大海,春暖    时间: 2013-10-6 20:42
本帖最后由 面朝大海,春暖 于 2013-10-6 20:45 编辑

小花那个是secPerson.name,secPerson.age,secPerson.sex,而不是onePerson
作者: lgh521911    时间: 2013-10-6 21:23
面朝大海,春暖 发表于 2013-10-6 20:42
小花那个是secPerson.name,secPerson.age,secPerson.sex,而不是onePerson

那个不是问题的根本。还是很感谢你找出我的毛病。代码复制错啦~~~不过问题没有解决哦

作者: haxyek    时间: 2013-10-6 21:43
没有错,你看一下你的这个程序:

“视频复习结构体”里面是不是有错误
作者: lgh521911    时间: 2013-10-6 21:54
haxyek 发表于 2013-10-6 21:43
没有错,你看一下你的这个程序:

“视频复习结构体”里面是不是有错误

好的,我试试重新建立一个项目再试试,谢谢啦

作者: haxyek    时间: 2013-10-7 03:09
lgh521911 发表于 2013-10-6 21:54
好的,我试试重新建立一个项目再试试,谢谢啦

解决了?怎么就解决了,贴出来,好加分~

作者: lgh521911    时间: 2013-10-7 06:57
haxyek 发表于 2013-10-7 03:09
解决了?怎么就解决了,贴出来,好加分~

第一,
  1. public enum Gender
  2.     {
  3.         男,
  4.         女
  5.     }
  6.     public struct Person
  7.     {
  8.         public string name;
  9.         public Gender sex;
  10.         public int age;

  11.     }
复制代码
如果定义枚举为 enum Gender                                 
                         {
                         }
     定义结构体为public struct Person
                         {
                         }
                     Gender的枚举类型与结构体中Gender.sex类型访问级别不同,所以系统提示“可访问性不一致,字段类型”。。。。“比字段”。。。。“的可访问性低。我的朋友给我推荐的一篇文章C#访问修饰符总结http://wenku.baidu.com/view/4c58acc158f5f61fb73666bd.html?qq-pf-to=pcqq.c2c,想多了解的可以看看。我的问题的代码是正确的。问题的关键点就是访问级别不同,把他们调整下或都用public修饰,或都不用,就解决了(答案视频32)

作者: haxyek    时间: 2013-10-7 09:22
lgh521911 发表于 2013-10-7 06:57
第一,如果定义枚举为 enum Gender                                 
                         {
      ...

你的访问控制符不都是public吗?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2