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