5

今日、私はこのコードを見ます:

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

そして、私は理解できません。「〜」 - これは間違いですか?私が覚えている限りでは、「~」はデストラクタの前に置かれます。しかし、これは列挙型です。そして、このコードがコンパイルされました!

4

1 に答える 1

6

ビット単位の否定演算子です。

~ 演算子 (C# リファレンス)

この~演算子は、そのオペランドに対してビット単位の補数演算を実行します。これにより、各ビットが逆になります。intuintlong、およびのビット単位の補数演算子が事前定義されていulongます。

また、整数型の操作は一般に列挙型で許可されているため、上記の型に基づく列挙型を使用できます~

于 2013-04-12T09:48:17.777 に答える