このブログのC#言語記事のまとめページです。ページ名の前に8、9、8-9がある場合、そのバージョン(C# 8、9、8-9)で動作確認しています。
言語機能
文字列
- <Obsolute?>文字列のANSI文字列→Unicode文字列変換時の注意
- <Obsolute?>8-9 ASCII、Unicode、システムのANSIエンコーディングの概要を表示する
- 8-9 UTF8EncodingのBOM出力とBOMを付けない方法
- 9 Unicode範囲の名前と長さを列挙する
コレクション・LINQ
- 8-9 LINQ(Enumerable.ToLookup)でIEnumerable(配列やリスト等)を条件ごとに分ける
- 8-9 Dictionaryでキーの大文字小文字を同一視する
- 9 バイト配列からメモリ上の読み枠を広げた整数配列を作成する
実行ファイル
プラットフォーム呼び出し(P/Invoke)全般
- 8 P/Invoke時の「System.MissingMethodException: '.ctor'」例外の意味
- 8-9 絶対サイズ指定の構造体は全体コピーされる
- P/Invoke時の文字列型マーシャリングの考察
- 9 メモリ割り当て文字列のカスタムマーシャラー
- 9 P/Invokeで使う構造体の管理方法いくつか
その他
- Image.FromFileの代替法とその短所
- 9 ushortのushort範囲制限加減算
- 9 isによるパターンマッチングの具体例
- 9 レコードにCreate静的メソッドを持たせる
- 9 匿名型と「is not {...} x」パターンマッチングのサンプルコード
- 9 SpanとMemoryの比較
- 8-9 MemoryStreamとStreamWriterを組み合わせるときの注意点と対処
Windows開発
標準コントロール
ウィンドウ・プロセス・スレッド
- 9 ウィンドウハンドルを列挙する機能を提供するクラス
- 9 ToolHelp32を利用してプロセス、スレッド、モジュール、ヒープリストのスナップショットを作成するクラス
- 9 ウィンドウのクライアント領域のボタン降下でウィンドウを移動させる
- 9 システムメニューを表示する
COM全般
- レジストリに登録されたCOMインターフェイスの情報を取得するクラスとサンプル
- HRESULTからWin32エラーコードへ変換する関数群
- 8-9 Win32エラーコードをHRESULTへ変換する関数GETHRForWin32Error
Windowsシェル
- Win32 APIを使ってバイトの単位を変換する
- バイトサイズを文字列に変換する関数群
- 9 ごみ箱のファイル数とサイズを取得するクラス
- 9 ごみ箱内のファイル名を列挙する
- 9 IShellItemインターフェイスをパスから作成する
- 4.5,9 FOLDERIDからフォルダのパスを取得する
- -9 AssocGetPerceivedType関数のサンプルコード
- IContextMenuのGetCommandStringにリソースIDではまったときの記録
- SHObjectProperties関数を使用してファイル、プリンター、ボリュームのプロパティダイアログを開く
- 8-9 Known Folderの表示名と型名を取得する
- 8 シェルの「shell:~」形式からパスを取得する
- 8 IShellFolder::GetAttributesOfの定義時の注意
- 8 プロパティシステムのサンプルコード
- 8 Windows 10の拡張子の分類情報等を取得する
クリップボード・データオブジェクト・ドラッグドロップ
コントロールパネル
- コントロールパネルに表示される項目のCLSIDをレジストリから取得する
- コントロールパネルに表示される項目のローカライズされた名前をレジストリから取得する
- 7.1 コントロールパネルに表示される項目のCLSIDと名前をレジストリから取得する
Windows標準アプリケーション
レジストリ
- レジストリの間接文字列から対応するテキストリソースを抽出するクラス
- 4.5 レジストリに登録されたJavaのバージョン情報とパスを取得する
- 8-9 Windowsのレジストリキーハンドルから名前を取得するコード
- 8 Windowsの拡張子の関連付けレジストリキーのハンドルと名前を取得するコード
- 8 Windows 10のレジストリキーハンドル情報を取得するコードとクラス
- 8 Windows 10の拡張子の関連付け情報を文字列で取得するコードとクラス
- 8 Windows 10のレジストリを直接参照して登録アプリケーションのSupportedTypesを取得するコード
- 8 Windows 10のレジストリを直接参照して実行ファイル名の登録されたAppIDとその名前を取得するコード
- 8-9 Windows 10のレジストリに登録されたAppID情報を取得するクラス
- 9 カレントユーザーのレジストリに登録された実行ファイルのAppIDを取得する
- 9 レジストリからプロパティシステムの拡張子情報を取得する
実行ファイル
- 8 DOS MZファイルヘッダー(IMAGE_DOS_HEADER)のe_lfanewの幅広さ
- 8 PEファイルのMS-DOSヘッダとNTヘッダのシグネチャをメモリマップトファイルで読み込む
- 9 imageres.dll.munからProgressRingのリソース(PNGデータ)を読み込む
その他
- BitmapData.Scan0の操作でAccessViolationException例外が発生する理由と対処
- MemoryMappedViewAccessorとMarshalを組み合わせた小物関数
- ドライブが自動実行されるメディアタイプを取得する
- 現在使用されているMicrosoft Windows SDKの場所とバージョンを取得する
- SearchPath関数を使用して既定の順番でパスを検索する
- 9 WinAPIを使ったHLS色構造体
- Win32 APIのRECT構造体と.NET 5.0のRectangle構造体は互換性がない
- Spy++とメッセージを監視するアプリケーションの対象プラットフォームは揃える
- .NET Core 3.1 NtQuerySystemInformation関数でSystemProcessInformationを取得するコード
- Win32 API NTSTATUSの覚書
- VS2019 C#プロジェクトが開けなくなったとき
その他
- R.NETがすごい!
- JavaScript (MDN)のArray反復メソッドとC# (.NET Core 3.1, Microsoft Docs)のLINQ
- SourceBrowser:.NET Framework、Roslyn、.NET Core、Azure
- 8 Math.NET Numericsで正規分布に従う乱数の発生と平均の標準誤差の推定量計算
- 8 HTMLのスクリプト要素の一部をJSONとして抜き出す