Web備忘録

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

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

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

続きを読む ⇒

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

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

続きを読む ⇒

[C#][VB] ファイルをByte型配列で読み書きする方法

バイナリファイルのByte型配列での読み書き File.ReadAllBytes を使えば、バイナリファイルをByte型配列に読み込むことができます。 逆に、File.WriteAllBytes を使うことでByte型配列の内容をファイルに書き出すことができます。指定したパスのファイルが存在しない場合、新規にファイルが作成されます。ファイルが存在すれば、ファイルを上書きします。 C# // ファイルをByte型配列で読み込み var bytes = File. ...

続きを読む ⇒

[C#][VB] LINQでコレクションをチャンク(N個ずつ)に分割

LINQでチャンク チャンクとは、大きな塊、ぶつ切り、大量、などの意味を持つ英単語です。つまりひとまとまりのデータの塊を指します。 例えば配列などのコレクションに対して、N個ずつの要素のチャンクまとめて処理を行いたい場合があります。100個の要素を持つコレクションを2個の要素をもつチャンク50個に分割するイメージです。これを拡張メソッドとして用意しておけば便利なはずです。 拡張メソッドやイテレータについては以下の記事にまとめています。 ...

続きを読む ⇒