ざこノート

C#

2018-11-17 [C# ]

[C#] 高速でファイルとフォルダを列挙する

Win 32 APIのFindFirstFileExを使用して実装します。Directoryクラスと同じような静的メソッドで実装するので、そのまま差し替えられます。

2018-11-10 [C# ]

[C#] Collection<T>の使用用途とListとの違い

Collection<T>は独自コレクションを実装する時に継承して使用します。Collection<T>は内部でList<T>を保持していますが、拡張できるように仮想メソッドが定義されています。

2018-11-01 [C# ]

[C#] 32bitプロセスから64bitプロセスで外部ファイルを起動する

64bitのOSで起動している32bitアプリ(WOW64)から外部アプリ(任意のファイル)を起動する際に、WOW64のリダイレクトの影響を受けずずに正常に起動させる方法です。
cmd.exeを経由して外部アプリを起動するようにします。

2018-06-13 [WPF]

[WPF] C#でDataGridColumnのHeaderとVisibilityをバインドする例

DataTableDataGridAutoGeneratingColumnで自動作成させたケースで、列のヘッダー名と非表示の設定をバインドで制御する例です。

2018-05-29 [WPF]

[WPF] C# 指定したファイルのアイコンを表示する

Windows API Code Packを使用してアイコンを取得して画面表示します。
ローカルファイルの場合は、System.Drawing.Icon.ExtractAssociatedIconで取得することもできますが、UNC(’\‘から始まるパス)は例外になります。

2018-05-25 [WPF]

[WPF] C# ポップアップをマウスや指定コントロール.の位置に表示

Popupコントロールを使用したメッセージを表示します。表示位置を選択する使用例です。

2018-05-22 [C# ]

[C#] よく使う文字列の比較判定を高速で安全に

高速な完全比較。大文字/小文字、半角/全角、ひらがな/カタカナの比較方法。

2018-05-17 [C# ]

[C#] アセンブリ情報やバージョンを取得する

AssemblyName、FileVersionInfo、CustomAttribute の3つの方法で取得します。
自分自身のアセンブリ情報と3つのバージョン(アセンブリ・ファイル・製品)を取得します。

2018-05-16 [C# ]

[C#] ビルド後イベントで不要なxmlや言語フォルダを削除する

拡張子やフォルダ名を指定して削除します。NuGetから取得したライブラリの不要なファイルを削除することを想定しています。

2018-05-15 [C# ]

[C#] iniファイルを読み込む方法たち

kernel32.dll(Win32API)、INIFileParser(NuGet)、独自実装(IniFile.cs)のパターンで取得します。