我正在尝试使用一组条件语句来设置具有标志属性的枚举。但是,编译器抱怨'm‘未赋值。我如何重写以下代码来实现我想要的功能?
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;发布于 2009-04-10 19:54:08
你需要初始化m。创建一个值为0的"None“标志,然后:
Media m = Media.None;然后你的代码的其余部分。
发布于 2009-04-10 20:15:04
你也可以这样写:
Media m = default(Media)在不知道枚举、类或是否是值/引用类型的情况下很有用。
发布于 2009-04-10 19:54:00
如果没有一个条件是真的,m将是未定义的。将其设置为初始值。
https://stackoverflow.com/questions/738687
复制相似问题