[C#][VB.NET] エクスプローラーで指定のフォルダを開く方法
フォルダに関連付けられたソフトで開く方法 Process.Start() は指定したパスのアプリを実行します。フォルダは通常エクスプローラーが関連づけられています。 したがってフォルダを指定するとエクスプローラーでそのフォルダを開いてくれます。 C# // using System.Diagnostics; Process.Start(@"C:\work"); VB.NET Process.Sta […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
フォルダに関連付けられたソフトで開く方法 Process.Start() は指定したパスのアプリを実行します。フォルダは通常エクスプローラーが関連づけられています。 したがってフォルダを指定するとエクスプローラーでそのフォルダを開いてくれます。 C# // using System.Diagnostics; Process.Start(@"C:\work"); VB.NET Process.Sta […]
C#(VB.NET) でフォルダを中身ごとコピーしたい .NET では中身の入ったフォルダのコピーは用意されていません。したがって自分で作ってやる必要があります。 以下実装です。 C /// <summary> /// ディレクトリの中身をコピーする /// </summary> /// <param name="sourcePath">コピー元パス</p […]
オリジナルのプログラミング言語を開発してみる プログラミング言語を自分で開発するということは、プログラマなら一度は興味を持つことではないでしょうか。 興味を持ったが吉日ということで、よさげな書籍を参考にして、自分で1からプログラミング言語を開発してみます。 Go言語でつくるインタプリタ | Thorsten Ball, 設樂 洋爾 |本 | 通販 | Amazon 参考にするのは上記の書籍です。タ […]
C# のタイマーで指定時間間隔で処理を行う Timer を使うことで指定時間間隔で任意の処理を行うことができます。 Timerの種類 C#には複数のタイマーがあります。Threading.Timer と Timers.Timer です。 他にも GUI用のタイマーとして、Forms.Timer と DispatcherTimer というものもあります。それぞれ WindowsFrom と WPF […]
ドメイン(ホスト名)からIPアドレスを取得する方法 Dns クラスの GetHostAddress メソッドを利用することで、ホスト名からIPアドレスを取得できます。ドメインの名前解決も可能です。 // 自身のホスト名を取得 var host = Dns.GetHostName(); Console.WriteLine(host); // ホスト名からIPアドレスを取得 var ips = Dns […]
C# において型で条件分岐 C#7 以降では、is演算子や switchステートメントの case 機能拡張され、型による処理の分岐が簡潔に書けるようになっています。具体的には以下のような機能です。 is演算子で型チェックをして、一致すれば変換結果を変数で受け取る caseキーワードで型を指定して判定、一致したら変換結果を変数で受け取る 型による条件分岐の機能を 型スイッチ と呼びます。 is演算 […]
エイリアス(Alias) C# では、using(エイリアス)ディレクティブ を使うことで名前空間やクラスに別名を付けることができます。 この機能を使うと名前空間をすべて記述する完全修飾名を書かなくても、独自に定義した別名を使って名前空間やクラスを参照できるようになります。 using [別名] = [名前空間やクラス]; クラスの外側に上記のように using を使って任意の名前と名前空間やクラ […]
C#, VB.NET で指定ディレクトリ、ファイルの変更を監視する方法 指定したパスのディレクトリやファイルを監視し、何かしらの変更があったタイミングで処理を実行するというようなことをC#, VB.NETで実現するには、System.IO.FileSystemWatcher クラスを使います。 イベントの種類 FileSystemWatcher では、指定したPathのファイルまたはディレクトリに […]
ブロックソートとは ブロックソート – Wikipedia ブロックソートとはデータの可逆変換アルゴリズムの一種です。ソートとついていますが、データのソートを効率よくするため ソートアルゴリズムではありません 。また、データの圧縮アルゴリズムでもありません。Wikipediaには次のようにあります。 ブロックソート、ブロックソーティング、Burrows-Wheeler変換 (Burro […]
lockでは非同期処理を扱えない lock ステートメント (C# リファレンス) | Microsoft Docs C# には、共有資源に対する排他制御をするために lock ステートメントが用意されています。次のように使います。 private object lockObject = new object(); private Task SomeWorkAsync() => Task.D […]