C#

1/2ページ
C#

[C#] タイマーを使って指定時間ごとに処理を行う方法

C# のタイマーで指定時間間隔で処理を行う Timer を使うことで指定時間間隔で任意の処理を行うことができます。 Timerの種類 C#には複数のタイマーがあります。Threading.Timer と Timers.Timer です。 他にも GUI用のタイマーとして、Forms.Timer と DispatcherTimer というものもあります。それぞれ WindowsFrom と WPF […]

C#

[C#] ドメイン(ホスト名)からIPアドレスを取得する方法(逆引き)

ドメイン(ホスト名)からIPアドレスを取得する方法 Dns クラスの GetHostAddress メソッドを利用することで、ホスト名からIPアドレスを取得できます。ドメインの名前解決も可能です。 // 自身のホスト名を取得 var host = Dns.GetHostName(); Console.WriteLine(host); // ホスト名からIPアドレスを取得 var ips = Dns […]

C#

[C#] 型の一致で処理を分岐をする方法(型スイッチ, is演算子, switch文)

C# において型で条件分岐 C#7 以降では、is演算子や switchステートメントの case 機能拡張され、型による処理の分岐が簡潔に書けるようになっています。具体的には以下のような機能です。 is演算子で型チェックをして、一致すれば変換結果を変数で受け取る caseキーワードで型を指定して判定、一致したら変換結果を変数で受け取る 型による条件分岐の機能を 型スイッチ と呼びます。 is演算 […]

C#

[C#] エイリアスでクラスや名前空間に別名を付ける方法

エイリアス(Alias) C# では、using(エイリアス)ディレクティブ を使うことで名前空間やクラスに別名を付けることができます。 この機能を使うと名前空間をすべて記述する完全修飾名を書かなくても、独自に定義した別名を使って名前空間やクラスを参照できるようになります。 using [別名] = [名前空間やクラス]; クラスの外側に上記のように using を使って任意の名前と名前空間やクラ […]

C#

[C#][VB] 指定ディレクトリ、ファイルの変更を監視する方法

C#, VB.NET で指定ディレクトリ、ファイルの変更を監視する方法 指定したパスのディレクトリやファイルを監視し、何かしらの変更があったタイミングで処理を実行するというようなことをC#, VB.NETで実現するには、System.IO.FileSystemWatcher クラスを使います。 イベントの種類 FileSystemWatcher では、指定したPathのファイルまたはディレクトリに […]

C#

[C#] [VB] ブロックソートを実装する方法

ブロックソートとは ブロックソート – Wikipedia ブロックソートとはデータの可逆変換アルゴリズムの一種です。ソートとついていますが、データのソートを効率よくするため ソートアルゴリズムではありません 。また、データの圧縮アルゴリズムでもありません。Wikipediaには次のようにあります。 ブロックソート、ブロックソーティング、Burrows-Wheeler変換 (Burro […]

C#

[C#] checked で算術オーバーフローをチェックして検出する方法

C# でオーバーフローを検出する 基本的に C# では、数値計算で算術オーバーフローが発生すると、格納先の型に収まらない上位ビットが破棄されてしまいます。この時、算術オーバーフローは例外とてキャッチできないので、これを検出することが難しくなります。 そこで checked コンテキストを設定することで、算術オーバーフローによって例外(System.OverflowException)を発生させるこ […]

C#

ClosedXML 印刷範囲を設定する方法(印刷範囲が壊れる対処)

ClosedXML で行を挿入すると印刷範囲が壊れる Excelで印刷範囲が設定された箇所に行を挿入したら、印刷範囲が壊れてしまいました。ClosedXMLは行の挿入があまりよくないという感じがします。 しかたないので印刷範囲を再設定して対応することにしました。以下、ClosedXMLで印刷範囲を設定する方法です。 ClosedXML で印刷範囲を設定する方法 Print Areas and Pa […]

C#

[VS] JSON, XML から クラスの定義を自動生成する方法

JSON, XML から クラスの定義を自動生成する方法 動作確認環境は Visual Studio 2015, C# です。 Visual Studio の貼り付け機能の1つに、JSONもしくはXMLからクラス定義を自動生成して貼り付けてくれる機能があります。 JSON 例えば次のようなJSON形式のテキストをクリップボードにコピーします。 { "name": "太 […]