C#

7/9ページ

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

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

C#

[C#] ハッシュ値を計算する方法

ハッシュ値を計算する方法 ハッシュ値とは ハッシュ値とは、元になるデータから一定の計算手順(ハッシュ関数)によって求められた、規則性のない固定長の値のことです。同じ元データから得られるハッシュ値は同一で、ハッシュ値から元データの復元はできません。 ハッシュアルゴリズムの種類 MD5 MD5(エムディーファイブ、Message Digest Algorithm 5) 与えられた入力に対して128ビッ […]

C#

[C#] 配列をランダムソート(シャッフル)する方法

ランダムな配列 [C#] 連番配列と全要素同値の配列の初期化方法 上記リンク先で配列の生成方法についてまとめています。今回は配列をランダムな順に並び替える(つまりシャッフルする)方法をまとめます。配列を扱っていますが、実際はコレクション要素(Listなど)であれば同様に処理できます。 配列のランダムソート(シャッフル) 任意の配列について、ランダムな順にソートする方法です。 // シャッフルするも […]

C#

[C#] 連番配列と全要素同値の配列の初期化方法

連番配列 C#で連番の配列がほしいとき、以下のような書き方で要素を指定するのは面倒です。 int[] ary = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 要素数が20にもなればいちいち書いてられませんし、かといってループで要素を入れていくのもスマートではありません。ワンラインでスマートに書き上げてしまいたいところです。 連番配列の生成方法 int[] […]

C#

[C#] csc.exeでのコンパイル時の著作権表示やロゴを消す

csc.exe を使ったコンパイル時の著作権表示やロゴを表示しない方法 結論 先に結論から言うと、オプションで /nologo を指定することで表示させないことが可能です。 csc.exe C#のコードは、Visual Studio からではなく、直接 csc.exe を使ってコンパイルすることができます。このコンパイラ(csc.exe)は環境にも寄りますが、おそらく以下の場所にあるはずです。 C […]

C#

[C#][VB.NET] TextFieldParserで固定長ファイルを読み込む方法

TextFieldParserで固定長ファイルを読み込む方法 TextFieldParserでCSV(TSV)を読み込む方法をまとめたのですが、TextFieldParserで固定長ファイルも簡単に扱うことができます。 TextFieldParserクラスの使い方 サンプルデータとして以下の固定長ファイルを読み込んで処理するサンプルをC#,VB.NETそれぞれで用意しました。テスト用のデータはフィ […]

C#

[C#][VB.NET] TextFieldParserでCSV(TSV)ファイルを読み込む方法

TextFieldParserでCSV(TSV)を読み込む方法 C#あるいはVB.NETでCSV(TSV)ファイルを扱うときに、TextFieldParserを使う方法を紹介します。CSVファイルを読み込んで処理するときに、単純に1行ずつ読み込んでカンマで分割してやる方法でも良いのですが、引用符(“”)つまりダブルクォーテーションで囲まれていたり、フィールド内に改行がある場 […]

C#

[C#][VB.NET] ZIP圧縮・解凍を行う方法

.NETでのZIPファイルの制御 C#あるいはVB.NETのプログラムから、ファイルのZIP圧縮・解凍を行う方法をまとめました。 調べてみると.NET Framework 4.5以降からZIPファイル制御用のクラスが追加されていました。 .NET Framework 4.0以前の環境では別の方法を用いる必要があります。 外部のライブラリやJ#ライブラリを使用する方法があるそうですが未確認です。 そ […]

C#

[C#] 拡張メソッドの使い方

拡張メソッドとは 拡張メソッドとは、既存の型(クラス)に対して、の元の型の変更や継承をすることなく、新たなメソッドを追加する仕組みです。 実際には既存の型に対して、静的メソッドを追加し、インスタンスメソッドと同じ構文で呼び出すことができるようになります。 インスタンスメソッドのように書けるので、いちいち引数に渡したりする手間もなく便利です。 C#, VB.NET ともに拡張メソッドを同じように使う […]

C#

[C#] モンテカルロ法で円周率πを求める

モンテカルロ法とは モンテカルロ法 とは、乱数を使っていろいろ計算してみよう、みたいなことです。詳しくはWikipediaをご覧下さい。 モンテカルロ法のアルゴリズムを使って、円周率πを計算してみます。 円周率πのを求める考え方 1辺が1の正方形を用意します。 そこに半径1の円の1/4を書きます。 正方形の内側にランダムに1点選び、円の内側かどうかを判定します。 3の処理をn回繰り返します。 円の […]

1 7 9