.NET中的标志枚举

dec*_*dev 4 c# enums

我试图使用一组条件语句来设置[Flags]归因的枚举.但是,编译器抱怨'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;
Run Code Online (Sandbox Code Playgroud)

i_a*_*orf 17

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

Media m = Media.None;
Run Code Online (Sandbox Code Playgroud)

然后是你的其余代码.