C# サンプル集
C#を使用した、簡単なサンプルコードをまとめたサンプル集です。基本的にはソースコードをそのままコピーアンドペーストで利用できると思います。是非、ご活用下さい。
文字列操作
文字列の作成方法や操作方法に関するサンプルコードとなります。
- @(アットマーク)を使ってエスケープを行う
- 文字列を日付型に変換する
- 文字列に変更にする
- 文字列の一部を抽出する
- 文字列を数値に変換する
- 文字列の文字を反転させる
- 文字列を指定した回数繰り返す
- 文字列の文字数がゼロであることを判定する
- 文字列の文字数を表示する
- 文字列を「bool」型に変更する
- 文字列の全ての空白を除去する
- 文字列を指定した区切り文字で分割してリストを作成する
- 複数行の文字列を使用する
- ランダムな文字列を生成する
- 文字列の先頭の文字だけを大文字に変換する
- 文字列内でタブを使用する
- 文字列内のダブルクォーテーションを除去する
- 文字列から複数の指定した文字を削除する
- 指定した区切り文字で文字列を分割する
- アルファベットの大文字から小文字に変換する
- アルファベットの小文字を大文字に変換する
- アルファベットの大文字と小文字を区別せずに比較する
- 文字列と文字列を結合する
- Base64で文字列をエンコードする方法
- 文字列をBase64からデコードする
- 円マーク付きの文字列を生成する
- 文字列からJSONデータを生成する
- 文字列を「double」型に変更する
- 文字列から初めの1文字だけを抽出する
- 文字列が正の整数であるかを判定する
数値操作
数値の作成方法や操作方法に関するサンプルコードとなります。
- 値の絶対値を計算する
- 小数点以下を切り捨てる
- 数値を変数代入時に区切りを入れる
- 数値を列挙型に変換する
- 値の切り上げを行う
- 値が正の数か負の数かを判定する
- 自然対数と常用対数log10を計算する
- 四捨五入をする
- 整数の乱数を生成する
- ネイピア数eの累乗を計算する
- 値の立方根を計算する
- 割り算の結果と余りを同時に求める
- 剰余演算を計算する
- 累乗計算を行う
- int型にnullを代入する
- 数値をstring型に変換する
- 2つの値から大きい方を取得する
- 2つの値から小さい方を取得する
- Sinメソッドを使用して直角三角形の高さの長さを求める
- Cosメソッドを使用して直角三角形の底辺の長さを求める
- Tanメソッドを使用して直角三角形の底辺の長さを求める
- Asinメソッドを使用して直角三角形の角度を求める
- Acosメソッドを使用して直角三角形の角度を求める
- Atanメソッドを使用して直角三角形の角度を求める
- Atan2メソッドを使用して直角三角形の角度を求める
- Acoshメソッドを使用してハイパボリックコサイン(coshx)の値を計算する
日付操作
日付や時間の作成方法や操作方法に関するサンプルコードとなります。
配列・リスト操作
配列・リスト操作に関するサンプルコードとなります。
- listの中に指定した値が存在するかを判定する
- list(リスト)に値を追加する
- list(リスト)とList(リスト)を結合する
- list(リスト)のn番目の値を取得する
- list(リスト)の値をソートする
- list(リスト)とlist(リスト)の差分を取得する
- list(リスト)内にある値の合計値を取得する
- list(リスト)の指定した値のインデックス番号を取得する
- list(リスト)内にある値の個数を取得する
- list(リスト)を値渡しでコピーする
- list(リスト)の値を並び替えて表示する
- リストに変換を行う
- 配列に変換を行う
- 配列やリストをDictionaryに変換する
- 配列やリストの値から重複しているデータを削除する
- 配列やリストの値をソートする
- 配列またはリストの集計を行う
- 配列やリストの値に指定した回数だけの値を作成する
- 配列またはリストに指定した値が存在するかを確認する
- 配列またはリストの合計値を取得する
- 配列またはリストの最大値を取得する
- 配列またはリストの最小値を取得する
- 配列またはリストの数をカウントする
- 配列またはリストの最後の値を取得する
- 配列やリストに連続した値を作成する
- 配列またはリストの指定したインデックス番号以降の値を取得する
- 配列やlist(リスト)の値を結合する
- 配列またはlist(リスト)の指定した位置までの値を取得する
- 配列やリストの値を反転する
- 配列またはリストが同じであるかを判定する
- 配列またはリストの値が1つでも条件を満たしているかを判定する
- 配列またはリストの全ての値が条件を満たしているかを判定する
- 配列またはリストから条件を指定して値を抽出する
- 配列またはリストが空の場合のデフォルト値を設定する
- 配列またはリストに指定した条件の値までを飛ばして取得する
- 配列またはリストのインデックス番号を指定して値を取得する
- 配列またはリストに1つだけある値を取得する
- 配列やリストのグループ化を行う
- 配列またはリストの平均値を取得する
- 配列やリストにある特定のプロパティごとに振り分ける
- 配列の中に一致する値があるかを判定する
- 配列の並びを逆にする
- 配列の値がまったく同じであるかを比較する
- 配列の重複データを除いて結合する
- 配列またはリストの先頭の値を取得する
- 配列同士で互いに存在するデータだけ抽出する
- 配列またはリストから型を指定して値を抽出する
- 配列同士で片方にしか存在しないデータのみを取得する
辞書操作
辞書操作に関するサンプルコードとなります。
- 辞書の要素を全て削除する
- 辞書に値が存在するかを確認する
- 辞書の値を更新する
- 辞書の要素を削除する
- 辞書の数をカウントする
- 辞書をリスト化する
- 辞書にキーが存在するか判定する
- 辞書を値でソートする
- 辞書の値を取得する
- 辞書をループ処理する
- 辞書に値を追加する
- 辞書をjson化する
Windows フォーム
Windows フォームに関するサンプルコードとなります。
- textBoxのフォーカスを指定した位置に移動させる
- textboxの値を全選択する
- textboxの入力文字数を制限する
- textboxの値を改行ごとにlistboxに表示する
- textBoxの値を削除する
- textBoxに入力された文字を隠す
- textboxの値をCopy&Pasteを行う
- textboxのIMEモードの初期値をひらがな入力に設定する
- ファイルの内容をtextboxに表示する
- buttonの背景色を変更する
- buttonのサイズを変更する
- buttonの表示・非表示を切り替える
- buttonのテキストの文字色を変更する
- buttonの位置を変更する
- buttonのテキストを変更する
- labelの表示・非表示を切り替える
- labelの場所を変更する
- labelのテキストの色を変更する
- labelの背景色を変更する
- labelのテキストを設定する
- MessageBoxを表示する
- MessageBoxに使用できるアイコン一覧
- 「はい」と「いいえ」があるMessageBoxを表示する
- CheckBoxの表示・非表示を切り替える
- CheckBoxのCheckStateChangeイベントを登録する
- CheckBoxの状態をIndeterminateに変更する
- CheckBoxのテキストを変更する
- CheckBoxのチェックイベントを登録する
- CheckBoxの位置を移動させる
- CheckBoxのテキストの色を変更する
- CheckBoxの背景色を変更する
- radioButtonの表示・非表示を切り替える
- radioButtonのテキストを変更する
- radioButtonのテキストの色を変更する
- radioButtonの配置場所を移動させる
- radioButtonの背景色を変更する
- comboBoxのサイズを変更する
- comboBoxの起動時のデフォルト値を設定する
- comboBoxのインデックス番号を取得する
- comboBoxの初期化を行う
- comboBoxのテキストの色を変更する
- comboBoxの背景色を変更する
- comboBoxのItemの数をカウントする
- comboBoxのItemの値を取得する
- comboBoxに値を追加する
- comboBoxに配列の値を追加する
- comboBoxの位置を移動させる
- listBoxのカーソルを最終行に移動させる
- listBoxのサイズを変更する
- listViewのItemの数をカウントする
- listViewの初期化を行う
- listViewのサイズを変更する
- listViewの位置を移動させる
- listViewに値を追加する
- listViewのテキストの色を変更する
- listViewの表示を切り替える
- listBoxで選択されている値を削除する
- listBoxの値を全て削除する
- listBoxの位置を移動させる
- listBoxにある値をカウントする
- listBoxのフォントの色を変更する
- listBoxの背景色を変更する
- listBoxに値を追加する
- pictureBoxで表示されている画像を削除する
- pictureBoxの背景色を変更する
- pictureBoxの位置を移動させる
- pictureBoxのサイズを変更する
- pictureBoxの表示・非表示を切り替える
- pictureBoxで指定した画像を表示する
- pictureBoxで表示されている画像を切り替える
- linkLabelを使用してサイトに移動する
- linkLabelを使用してエクスプローラーを開く
- linkLabelの背景色を設定する
- linkLabelのテキストを設定する
- treeViewにノード(階層)を追加する
- treeViewのノードのパスを取得する
- treeViewの位置を移動させる
- treeViewのサイズを変更する
- treeViewのノードのテキストを変更する
- treeViewのノードを全て展開する
- treeViewのノードにチェックボックスを付ける
- treeViewの指定したノードのみを展開する
- treeViewの背景色を変更する
- monthCalendarで日付を選択する
- monthCalendarで選択できる最大日数を設定する
- monthCalendarで週の番号を表示する
- monthCalendarで週の初めの曜日を設定する
- monthCalendarで表示する月の数を設定する
- maskedTextBoxの入力マスクを設定する
- maskedTextBoxの位置を移動させる
- maskedTextBoxのサイズを変更する
- maskedTextBoxのテキストの色を変更する
- maskedTextBoxの背景色を変更する
- maskedTextBoxに入力された文字を隠す
- numericUpDownを16進数表記に変更する
- numericUpDownの変化量を設定する
- numericUpDownのテキストの色を変更する
- numericUpDownのサイズを変更する
- numericUpDownの値を取得する
- numericUpDownの背景色を変更する
- numericUpDownの位置を移動させる
- numericUpDownの最大値と最小値を設定する
- toolTipでタイトルを設定する
- toolTipで角丸のツールチップを使用する
- toolTipにアイコンを設定する
- toolTipでツールチップを設定する
その他
- コンソールにテキストや実行結果を表示する
- 変数のデータ型を取得する
- 変数名を文字列として扱う
- foreachを途中で停止する
- ファイルの存在チェックを実行する
- カレントディレクトリを取得する
- 指定したファイルの拡張子を取得する
- 拡張子を除いてファイル名を取得する
- テキストファイルの取得して内容を表示する
- テキストファイル内のデータの行数をカウントする
- テキストファイル内のデータの改行を削除して表示する
- テキストファイルにデータを書き込む
- テキストファイルの内容を全て取得する
- フォルダを作成する
- 再帰的にフォルダを取得する
- ファイルのサイズを取得する
- ラムダ式の簡単な使い方
- ラムダ演算子で文字列を1文字ずつに分解する
- IEnumerableから値を取得する
- URLを指定してhtmlを取得する
- delegateの簡単な使い方
- LinqのSingle実行時に値がない場合にデフォルト値を返す
- LinqのFirst実行時に値がない場合にデフォルト値を返す
- LinqのLast実行時に値がない場合にデフォルト値を返す
- sealedを使ってクラスの継承を防ぐ
- $”{}”(文字列補間式)を使用して簡潔に記述する
- 拡張メソッドを作成する
- getterとsetterを使用する
- asyncとawaitを使用して非同期処理を実行する
- progressBarを使用する
- MD5の値を取得する
- 空のシーケンスを作成
- プロパティを使用する
- sizeofを使って型の変数が使用しているサイズを取得する
- ??(クエスチョンマーク2個)演算子を使用してnullを判別する
- ローカルのタイムゾーンの情報を取得する
- ローカルマシンの全てのタイムゾーンを取得する
- ローカルマシンのホスト名を取得してIPアドレスを表示する
- bindingSourceでDataSetの値を操作する
- AngleSharpでHTMLファイルを解析する
- ClosedXMLでEXCLEファイルを作成する
- sleep処理を行う
- ランダムな真偽値を作成する
- 指定した時間間隔でプログラムを実行する
- ZIPファイルを解凍する
- UUIDを生成する
- CSVファイルを読み込んで表示する
- DotNetZipで圧縮化を行う
- mysqlに接続してテーブル一覧を確認する
- mysqlに接続してバージョンを取得する
- mysqlに接続してテーブルを作成する
- mysqlに接続してselectを実行する
- mysqlに接続してupdateを実行する
- mysqlに接続してdeleteを実行する
- mysqlに接続してinsertを実行する
- mysqlでトランザクションを使用する
- 「不必要な代入」が表示される理由
- 「メソッドは戻り値の型を持たなければなりません」が発生した場合
パフォーマンス
同じ結果が得られる処理を同じ回数だけ実行して、パフォーマンスを比較した結果を掲載してます。
- 先頭の文字のみ大文字に変換する処理で「ToUpper+Substring」と「Regex.Replace」と「ToUpper+ToCharArray」のパフォーマンスを計測して比較する
- 文字列の文字数カウントで「foreach」と「Linq」と「Replace」と「Split」と「Regex」のパフォーマンスを計測して比較する
- 文字列の繰り返し処理で「StringBuilder」と「Concat & Repeat」のパフォーマンスを計測して比較する
- 空白除去処理で「Regex.Replace」と「Linq(Concat・Char.IsWhiteSpace)」のパフォーマンスを計測して比較する
- 数値の文字変換で「string.Format」と「ToString」と「+演算子」のパフォーマンスを計測して比較する
- アルファベットの小文字・大文字の区別なしでの比較で「Equals」と「ToLower」のパフォーマンスを計測して比較する
- 真偽値のランダム生成処理で「random.NextDouble」と「random.Next」のパフォーマンスを計測して比較する
- 通貨フォーマット処理で「ToString」と「String.Format」のパフォーマンスを計測して比較する
- 文字列Boolean変換処理で「Convert.ToBoolean」と「Boolean.TryParse」のパフォーマンスを計測して比較する
- 文字列が半角の数値であるかの判定で「Regex.IsMatch」と「char.IsDigit」と「Int32.TryParse」と「foreach」のパフォーマンスを計測して比較する
- 文字列から最初の一文字を取得する処理で「FirstOrDefault」と「String[]」のパフォーマンスを計測して比較する
- ランダムな文字列生成処理で「for」と「Linq」のパフォーマンスを計測して比較する
ASP.NET
Webアプリケーションフレームワークである「ASP.NET」のサンプルコードを掲載してます。
- ASP.NET core 6 DBからモデルを生成する
- ASP.NET core DBのテーブルデータをCSVとしてダウンロードする
- ASP.NET Core PostgreSQLと接続する
- ASP.NET core MVC 静的ページを作成する
- ASP.NET core MVC EXCELファイルのダウンロードボタンを作成する
- ASP.NET core MVC DBからスキャフォールドを使用してCRUDを作成する
- ASP.NET core MVC オプション検索を作成する
- ASP.NET core MVC 静的ページにControllerから値を渡す
- ASP.NET core MVC sort機能を作成する
- ASP.NET core MVC 静的ページにrazorページを使用する
エラー対処法
エラーが発生する原因と解決方法を記載してます
- if文でエラーメッセージ 「到達できないコードが検出されました」の表示を解消
- ASP.NET core MVC エラー「UnauthorizedAccessException: Access to the path xxx」が発生した場合の対処法
- ASP.NET Core エラー「InvalidCastException: Unable to cast object of type System.Int32 to type System.Int64.」が表示された場合の対処法
- エラー「System.ArgumentException: shift_jis is not a supported encoding name」が発生した場合の対処法
- 「非ジェネリック 種類 ‘IEnumerable’ は型引数と一緒には使用できません。 」が発生した場合の対処法