首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET中的标志枚举

.NET中的标志枚举
EN

Stack Overflow用户
提问于 2009-04-10 19:52:26
回答 6查看 1.3K关注 0票数 4

我正在尝试使用一组条件语句来设置具有标志属性的枚举。但是,编译器抱怨'm‘未赋值。我如何重写以下代码来实现我想要的功能?

代码语言:javascript
复制
Media m;
if (filterOptions.ShowAudioFiles)
    m = m | Media.Audio;
if (filterOptions.ShowDocumentFiles)
    m = m | Media.Document;
if (filterOptions.ShowImageFiles)
    m = m | Media.Image;
if (filterOptions.ShowVideoFiles)
    m = m | Media.Video;
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-04-10 19:54:08

你需要初始化m。创建一个值为0的"None“标志,然后:

代码语言:javascript
复制
Media m = Media.None;

然后你的代码的其余部分。

票数 17
EN

Stack Overflow用户

发布于 2009-04-10 20:15:04

你也可以这样写:

代码语言:javascript
复制
Media m = default(Media)

在不知道枚举、类或是否是值/引用类型的情况下很有用。

票数 2
EN

Stack Overflow用户

发布于 2009-04-10 19:54:00

如果没有一个条件是真的,m将是未定义的。将其设置为初始值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/738687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档