Web備忘録

プログラミングを中心に技術的な事柄を忘れないように書き残します。

[C#] 文字列でプロパティ名を指定してアクセス(参照・更新)する方法

[C#] 文字列でプロパティ名を指定してアクセス(参照・更新)する方法     C#では、System.Reflection.PropertyInfoクラスのメソッドを利用して、プロパティ情報の参照や更新ができます。PropertyInfoクラスは、System.Type クラスの GetPropertyメソッドで取得できます。     例えば次のような Person クラスがあるとします。 class Person {    // プロパティ    publ ...

続きを読む ⇒

[C#] 列挙型をビット演算に対応させる

[C#] 列挙型(enum)をビット演算に対応させる 通常の列挙型(enum)の値は当然複数の値をもたせることはできません。ですが Flags 属性を持たせることで、ビット演算によるフラグ管理の対象にできます。 Flags 属性付与プラス、列挙型の値を2の冪乗の形で定義することで、ビットフラグに対応させることが可能になります。 列挙型(enum)の定義 以下のような列挙型 Colors を定義します。内部の値は2の冪乗で定義します。単純に2nの値を定義して ...

続きを読む ⇒

[C#] 列挙型の変換操作いろいろまとめ

列挙型の変換操作いろいろまとめ 列挙型 (enum) から 文字列 (string) または 数値 (int) に変換する方法をまとめました。 次のような Colors という列挙型を定義しておき、これを使って各処理を見ていきます。 public enum Colors { Black = 0, Red = 1, Green = 2, Blue = 3, White = 4, } 列挙型 (enu ...

続きを読む ⇒

[C#][VB] 値の範囲内チェックを行う拡張メソッド

値が範囲内かどうかをチェックしたい 例えばある日付型の値をある期間内にあるかどうかのチェックを行ったり、あるいは数値が一定範囲内かどうかをチェックしたりするメソッドが欲しかったので拡張メソッドで作成してみました。 IComparable 比較できる型の値であれば、数値であれ日付であれこのような範囲チェックを行うことができます。これらの比較ができる型は、IComparable インターフェイスを実装しています。なのでこのインターフェイスを実装している型について拡張 ...

続きを読む ⇒

[C#][VB] 文字列をBase64形式にエンコード・デコードする方法

文字列をBase64形式にエンコード・デコードする方法 C#ないしVB.NETで文字列をBase64形式に変換するには、一度文字列をByte型配列に変換しそれをBase64文字列に変換します。Base64形式の文字列をもとの文字列に戻すには、その逆方向に実行します。 ただし、文字列をByte型配列に変換する際には、文字コードを意識しなければなりません。以下の例ではUTF-8でエンコード・デコードしています。 C# using System; using Syst ...

続きを読む ⇒