「[[マイクロソフト系技術情報 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]]