C#关于给结构体中的枚举类型成员,通过键盘键入值的问题

问题描述

初学,请高手指教!代码如下namespaceConsoleApplication1{enumgender{男,女}publicstructpeople{publicstringname;publicgendersex;publicintage;}classProgram{staticvoidMain(string[]args){peopleperson;Console.WriteLine("请输入名字:");person.name=Console.ReadLine();Console.WriteLine("请输入性别:");person.sex=(gender)(Enum.Parse(typeof(gender),Console.ReadLine()));Console.WriteLine("请输入年龄:");person.age=Convert.ToInt32(Console.ReadLine());}}}显示错误可访问性不一致:字段类型“ConsoleApplication1.gender”比字段“ConsoleApplication1.people.sex”的可访问性低F:C#传智播客29,30ConsoleApplication1Program.cs1523结构体请问是什么问题,在线等。。。

解决方案

解决方案二:
gender类型也要是public:publicenumgender{男,女}
解决方案三:
非常感谢,已经解决了!
解决方案四:
恭喜楼主,接分。顺便说一下,类、公共成员的名称最好使用Pascal命名法,也就是每个单词的首字母大写。

时间: 2024-09-30 06:38:34

C#关于给结构体中的枚举类型成员,通过键盘键入值的问题的相关文章

结构体中的柔性数组成员(数组长度为0成员)!

其实很早在看LINUX下就看到这个东西,后来在MFC内存池里同样也看到了类似的东西,还依照MFC写过一个类似的小内存池,(MFC用的是return this + 1)后来在李先静的<系统程序员成长计划>里看到了类似的定义,于是心里想着总结一下,结果发现网上已经有牛人总结的很好了,于是乎就转了过来,谢谢你们的分享,这是我前进的动力!同时,需要引起注意的:ISO/IEC 9899-1999里面,这么写是非法的,这个仅仅是GNU C的扩展,gcc可以允许这一语法现象的存在.但最新的C/C++不知道是

各位国庆加班的大大:如何销毁结构体里的非托管成员?

问题描述 ImportsSystem.Runtime.InteropServicesModuleModule1'//注意这个属性不能少:允许您控制类或结构的数据字段的物理布局.'//指示可序列化'//按1字节对齐<Serializable()>_<StructLayout(LayoutKind.Sequential,Pack:=1)>_PublicStructure_OperatorDimidAsUShort'//声明一个字符数组,大小为11<MarshalAs(Unmana

结构体struct、枚举enum、联合体union、位字段、自定义类型typedef、字节对齐

结构体struct 1 结构体的基本知识 2 结构体与函数 3 结构体数组 4 自引用结构体 枚举变量enum 联合体union 位字段 1 一般的方法定义屏蔽吗 2 用位字段来定义屏蔽吗 自定义类型typedef 字节对齐 pragma pachx 按x个字节对齐 1.结构体struct 1.1 结构体的基本知识 #include <stdio.h> struct point{ int x; int y; }p1, p2, p3; struct point pt; struct point

linux内核不支持struct vm_area_struct结构体中flag标志使用值问题

error: 'VM_RESERVED' undeclared (first use in this function 从linux 3.7.0开始内核不再支持struct vm_area_struct结构体中flag标志使用值 VM_RESERVED,驱动开发中把 vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); 改为 vma->vm_flags |= (VM_IO | VM_LOCKED | (VM_DONTEXPAND | VM_DO

linux驱动-Linux驱动结构体中probe函数的参数怎么得到?

问题描述 Linux驱动结构体中probe函数的参数怎么得到? 解决方案 他既然都写了那在驱动文件里面应该会有这个函数啊,这种敦泰的TP驱动在SDK里面能找到好几个吧 解决方案二: static int ft5x_ts_probe(struct i2c_client *client const struct i2c_device_id *id) 函数原型是这个,我疑问的是原函数的这两个参数怎么确定的?{...

并行语句 顺序语句-VHDL,结构体中为并行语句,当没有进程块之类的时候,是不是当作顺序语句运行的?

问题描述 VHDL,结构体中为并行语句,当没有进程块之类的时候,是不是当作顺序语句运行的? architecture中如果没有process的时候是不是整个代码就是按顺序语句运行了?如 architecture rtl of process_test is begin c<='0'; end architecture rtl; 假如说结构体中有process的时候,整个代码就是按并行做了?如 architecture rtl of process_test is begin process (s

struct-结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化

问题描述 结构体初始化问题, 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化 定义了结构体和结构体数组,结构体中想存的数据写在了txt文件中,我该怎么做初始化//定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; 解决方案 写一个循环,从txt中读取数据,然后赋值

c++-Visula Basic 6.0语言调用C++ struct结构体中的字符串问题

问题描述 Visula Basic 6.0语言调用C++ struct结构体中的字符串问题 VB6调用C++ DLL结构体struct中的字符串,内存预分配的写法是什么,内存回收怎么做?VB不能用指针的谢谢 解决方案 VB不支持指针,一般你可以定义成局部变量,这样函数退出会自动回收的. 解决方案二: c++公用体union.结构体struct内存分配问题

struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

问题描述 结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗 //定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; //读出文件函数//void read() {FILE *fp;int in;if((fp=fopen(""C:UsersAdminist