文字列

【C#】正規表現メタ文字・量指定子・文字クラス一覧と使い方早見表

Regexクラスを使えば、文字列からパターンを高速に抽出できます。 主要なメタ文字は. 任意1文字、* 無制限、+ 1回以上、? 0か1回、^ 先頭、$ 末尾、[]文字セット、() グループ、| 選択。 文字クラスは\d 数字、\w 単語、

続きを読む »
文字列

【C#】Regex.IsMatchで簡単正規表現チェック—基礎からエラー対策・高速化まで一気にわかる

C#で文字列がパターンに合うか確かめるならRegex.IsMatchが最速の近道です。 逐語的文字列リテラル@を付ければバックスラッシュの煩わしさを減らせ、オプション引数で大文字小文字や複数行にも柔軟に対応可能です。 入力が不正でも例外は出

続きを読む »
文字列

【C#】正規表現でダブルクォーテーションを安全にエスケープする方法とトラブル回避ポイント

C#で正規表現中のダブルクォーテーションを扱うには、文字列リテラル内でバックスラッシュを二重にし、パターン上では\"が必要です。 verbatim文字列なら@"\""と書くと一目で読め、Regex.Escapeを使えばユーザー入力も安全にパ

続きを読む »
文字列

【C#】構造体の初期化を完全マスター!new・コンストラクタ・オブジェクト初期化子の実践テクニック

C#の構造体を初期化するにはnewでデフォルト値を取る、引数付きコンストラクタで任意値を設定する、オブジェクト初期化子でフィールドを個別に指定する、の3パターンが実用的です。 引数なしコンストラクタは宣言できず、未初期化フィールドが残るとコ

続きを読む »
クラス

【C#】正規表現の特殊文字を安全にエスケープする方法と置換テクニック

C#で正規表現を扱う際は、特殊記号を文字通り扱うためにエスケープが必須です。 一般的にはRegex.Escapeで自動処理するか、逐語的文字列リテラル@""を利用してバックスラッシュを1つに抑えます。 手動で書く場合は* + ? . ^ $

続きを読む »
文字列

【C#】構造体をref・in・outで参照渡しする方法とメリット・注意点

C#の構造体は値型なので通常はコピーが発生しますが、refやin、outで渡すと実体への参照を共有できコピーを避けられます。 refは読み書き、outは初期化目的、inは読み取り専用です。 サイズが大きい構造体で速度やメモリを節約したい場合

続きを読む »
クラス

【C#】Regexで理解する正規表現の基本操作と便利な活用テクニック

C#の正規表現はSystem.Text.RegularExpressions.Regexで扱え、検索・抽出・置換を一行でまとめる頼れる仕組みです。 \dや+などのメタ文字で柔軟にマッチを制御でき、Regex.IsMatchで判定、Match

続きを読む »
文字列

【C#】構造体は継承できない?ValueTypeの仕組みとインターフェース活用術

C#の構造体は値型として設計されており、クラスのように継承階層を持つことができません。 すべての構造体は System.ValueType を経由して object を継承しているものの、ユーザーが独自に別の構造体やクラスを継承したり、派生

続きを読む »
クラス

【C#】構造体をListで効率管理するベストプラクティスと性能比較

C#ではstructをList<T>に格納でき、軽量な値型を大量に扱う際にヒープ割当を避けつつ動的配列の利便性を得られます。 ただし追加時に値全体がコピーされるため、要素を後から変更したい場合はlist[i] = 新値の置換が必

続きを読む »
クラス

【C#】構造体のサイズを正確に取得する方法とレイアウト制御のポイント

C#で構造体の実際のバイト数を得る主な手段はMarshal.SizeOfとsizeofの2つです。 前者は安全なコードで任意の構造体に使え、後者はunsafeコンテキスト限定ですがコンパイル時定数となる利点があります。 StructLayo

続きを読む »
例外処理

【C#】DllNotFoundExceptionの原因と対処法をわかりやすく解説

C#でDllNotFoundExceptionが出るのは、ランタイムが指定DLLを検出できないためです。 実行ファイルと同じフォルダー、またはPATHにDLLとその依存DLLを置き、x86とx64をそろえ、DllImportで正しい名前を指

続きを読む »
数値

【C#】decimal型のオーバーフロー原因とOverflowExceptionを回避する実践テクニック

decimal型の値域は約±7.9228×10^28で、この枠を超える演算を行うと必ずOverflowExceptionが発生します。 uncheckedでも無効化できず、checkedで検出してtry-catchで処理するか、事前に入力や

続きを読む »
システム

【C#】DLLを安全に別フォルダ配置して読み込むベストプラクティス

C#でDLLを別フォルダに置くなら、実行前にAppDomain.CurrentDomain.AssemblyResolveでロード先を指定するか、probe privatePath="libs"をApp.configに追記し、ビルド後にDL

続きを読む »
例外処理

【C#】DivideByZeroExceptionの原因・発生条件とゼロ除算を防ぐ実践的な解決策

整数やDecimalを0で割るとDivideByZeroExceptionが発生し、プログラムは停止します。 除数が0かを事前にチェックするか、try-catchで捕捉しユーザーに適切な対処を促すことで、安全に処理を継続できます。 floa

続きを読む »
システム

【C#】DLL配置場所のベストプラクティスと参照エラーを防ぐ設定手法

DLLファイルは実行ファイルと同じディレクトリかbin\Debugやbin\Releaseに置くのが基本です。 別フォルダに分けたい場合はApp.configのprobingでパスを指定するかSetDllDirectoryで検索パスを追加し

続きを読む »
例外処理

【C#】DirectoryNotFoundException例外の原因・チェックポイント・解決手順

DirectoryNotFoundExceptionは指定したパスの途中に存在しないフォルダがあると発生する例外です。 ファイル読み書き前にDirectory.Existsで有無を確認し、見つからなければDirectory.CreateDi

続きを読む »
システム

【C#】DLLを参照できない原因と今すぐ試せる解決策

参照できない主因はフレームワークやCPUアーキテクチャの不一致、DLLの配置ミス、ファイル属性のブロック、NuGetパッケージの未復元です。 Visual Studioでターゲットとプラットフォームを合わせ、Copy Localを有効にし、

続きを読む »
例外処理

【C#】DataMisalignedExceptionの発生原因と実践的対処法をわかりやすく解説

DataMisalignedExceptionは、CPUが要求するメモリアラインメントに合わないデータへアクセスした際に発生し、主にARM系などで顕著です。 構造体やポインター操作時に起こりやすく、原因はフィールド配置やバイト配列の扱いです

続きを読む »
システム

【C#】DLL参照の追加方法とVisual Studio設定・よくあるエラー解決策まで解説

C#でDLLを参照する際は、Visual Studioの「参照の追加」からDLLを選び、コード冒頭にusing 名前空間を加えるだけで、外部ライブラリのクラスやメソッドを自プロジェクト内と同じ感覚で扱えます。 ターゲットフレームワークとバー

続きを読む »
Back to top button