在枚举之前“〜”是什么意思

时间:2013-04-12 09:47:22

标签: c# syntax enums

今天我看到了这段代码:

ViewBag.country = from p in CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures)
                              select new SelectListItem
                              {
                                  Text = p.EnglishName,
                                  Value = p.DisplayName
                              };

我无法理解。 “〜” - 这是一个错误?据我记忆,“〜”放在析构函数之前。但这是枚举。这段代码编译完毕!

1 个答案:

答案 0 :(得分:6)

它是按位否定运算符。

~ Operator (C# Reference)

  

~运算符对其操作数执行按位补码运算,   它具有反转每个位的效果。按位补码   运算符已预定义为intuintlongulong

由于通常允许对枚举类型执行操作,因此您可以将~与包含上述类型的枚举一起使用。