「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>.NET開発]]

* 目次 [#y77faabf]
#contents

*概要 [#rf6dbd10]
列挙型(Enum)の定義とビット演算(C#の例)

*詳細 [#sc461829]

**基本 [#g7404bdb]

***値を省略 [#b0ee27a5]
 enum 列挙型名
 {
   メンバー1,
   メンバー2,
    …,
   メンバーn
 }

***値を明示 [#b1fd7d20]
 enum 列挙型名 : 内部的な型
 {
   メンバー1 = メンバー1の値,
   メンバー2 = メンバー2の値,
    …,
   メンバーn = メンバーnの値
 }

**その他 [#m1218ed1]

***ビット演算 [#xa2d0376]
-FlagsAttribute属性を使用すると、ビット演算も可能になる。
-列挙型(Enum)のビット演算でプロファイルを組み立てるなどする場合に使える。

-参考
--定義
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumSymmetricAlgorithm.cs
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/EnumASymmetricAlgorithm.cs

--利用
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/SymmetricCryptography.cs
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/AsymmetricAlgorithmCmnFunc.cs

***[[ToString()高速化>.NET の Reflection#xce7f5ce]] [#o3b2f8a3]
-Reflectionだから遅いらしい。
-幾つか、高速化の技法がある。
-メソッドを動的生成してキャッシュさせる高速化の技法がある。

*参考 [#g3645c52]
-列挙型 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C~
https://ufcpp.net/study/csharp/st_enum.html
-連載:C#入門 第16回 列挙型の活用(1/4) - @IT~
https://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_016/csharp_abc01.html


----
Tags: [[:.NET開発]], [[:ASP.NET]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS