首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#新手 结构体中嵌套枚举后输出有关问题

2012-08-08 
C#新手 结构体中嵌套枚举后输出问题C# codeusing Systemusing System.Collections.Genericusing System.

C#新手 结构体中嵌套枚举后输出问题

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace csharp011{      public enum gender { man, woman };      public enum marital_status { y, n };      /// <summary>      /// 访问修饰符 struct 结构名      /// {      ///         结构体;      /// }      /// </summary>      //e.g:      public struct personal      {            public string name;            public gender sex;            public int age;            public marital_status ms;            public string tel;            public string address;            };      class Program      {            static void Main(string[] args)            {                  bool flag1 = false,flag2 = false;                  personal pers;                  Console.Write("请输入个人信息:\n姓名(值为string类型):\t");                  pers.name = Console.ReadLine();                  Console.Write("性别(值为enum gender类型):\t");                  do                  {                        try                        {                              pers.sex = (gender)(Enum.Parse(typeof(gender), Console.ReadLine()));                              flag1 = true;                        }                        catch (System.Exception ex)                        {                              Console.WriteLine("{0},请重新输入!", ex.Message);                              flag1 = false;                        }                  } while (!flag1);                  Console.Write("年龄(值为int类型):\t");                  pers.age = Int32.Parse(Console.ReadLine());                  //pers.ms = (marital_status)(Enum.Parse(typeof(marital_status), Console.ReadLine()));                  Console.Write("婚姻状况(值为enum marital_status类型):\t");                  do                  {                        try                        {                              pers.ms = (marital_status)(Enum.Parse(typeof(marital_status), Console.ReadLine()));                              flag2 = true;                        }                        catch (System.Exception ex)                        {                              Console.WriteLine("{0},请重新输入!", ex.Message);                              flag2 = false;                        }                  } while (!flag2);                  Console.Write("电话号码(值为string类型):\t");                  pers.tel = Console.ReadLine();                  Console.Write("家庭住址(值为string类型):\t");                  pers.address = Console.ReadLine();                  Console.WriteLine("输出个人信息:");                  Console.WriteLine("姓名:\t"+pers.name);                  [color=#FF0000]//Console.WriteLine("性别:\t"+pers.sex);                  //输出由键盘接收的枚举出错,说是未赋值的字段,请问要怎么处理??[/color]                  Console.WriteLine("年龄:\t"+pers.age);                  [color=#FF0000]//Console.WriteLine("婚姻状况:{0}\t", pers.ms);[/color]                  Console.WriteLine("电话号码:\t"+pers.tel);                  Console.WriteLine("家庭地址:\t"+pers.address);                  Console.WriteLine("\n按任意键退出程序...");                  Console.ReadKey();            }      }}


[解决办法]
pers创建了之后 pers.sex=new gender();另外一个也一样。。。
[解决办法]
personal pers;
要初始化
pers = new personal();

热点排行