C# 【C#】QueueとStackの違いと使い分け C# には「Queue(キュー)」と「Stack(スタック)」という代表的なデータ構造が用意されています。どちらもデータを一時的に保存して順序に基づいて取り出すためのコレクションですが、取り出し方に大きな違いがあります。本記事では Queu... 2025.09.03 C#
C# 【C#】HashSetの使い方|重複を許さないコレクション C# の HashSet<T> は、要素の重複を許さないコレクションです。リストのように順序は保証されませんが、高速な検索・追加・削除が可能です。集合演算(和・積・差)もサポートしており、数学的な集合操作をコードで簡単に表現できます。本記事... 2025.09.03 C#
C# 【C#】Dictionaryの基本操作|キーと値の扱い方 C# で頻繁に使われるコレクションのひとつが Dictionary<TKey, TValue> です。これは「キー」と「値」をペアで管理できるコレクションで、検索や追加・削除が効率的に行えます。本記事では Dictionary の基本操作を... 2025.09.03 C#
C# 【C#】属性(Attribute)の基礎とカスタム属性の作り方 C# には「属性(Attribute)」と呼ばれる仕組みがあり、クラスやメソッドなどにメタデータを付加することができます。属性を利用すると、ライブラリやフレームワークに追加情報を伝えたり、リフレクションを使って実行時に動的な処理を行ったりで... 2025.09.03 C#
C# 【C#】非同期タスクのキャンセル方法|CancellationTokenの基本 非同期処理を行うとき、ユーザーが操作を取り消した場合や一定時間を過ぎた場合に「処理を途中で止めたい」という場面があります。そのために用意されているのが CancellationToken です。これを利用すると、安全かつ効率的に非同期タスク... 2025.09.02 C#
C# 【C#】例外フィルター(when句)を使ったエラー処理の書き方 C# 6.0 以降では、例外処理に「例外フィルター(when句)」を使えるようになりました。これにより、catch ブロックに条件を付与して、特定の条件下でのみ例外を捕捉できます。複雑な条件分岐を catch 内で書く必要がなくなり、コード... 2025.09.02 C#
C# 【C#】レコード型(record)の基本とクラス/構造体との違い C# 9.0 以降では「レコード型(record)」が導入されました。レコード型は主に「データを保持するための型」として設計されており、イミュータブル(変更不可)なオブジェクトや値の比較を簡潔に扱えるのが特徴です。本記事ではレコード型の基本... 2025.09.02 C#
C# 【C#】デリゲートとイベントの仕組みをわかりやすく解説 C# の「デリゲート」と「イベント」は、オブジェクト間で通知やコールバックを行う仕組みを構築するための基本要素です。GUI アプリケーションや非同期処理、カスタムライブラリの設計など、実務でも広く活用されます。本記事では、デリゲートとイベン... 2025.09.02 C#
C# 【C#】ジェネリック(Generics)の基本|型安全なコレクションの作り方 C# の「ジェネリック(Generics)」は、クラスやメソッドを特定の型に依存しない形で設計できる仕組みです。これにより、再利用性の高いコードを記述でき、かつ型安全性を確保できます。特に List<T> などのコレクションでは必須の概念で... 2025.09.02 C#
C# 【C#】ラムダ式と匿名メソッドの違いと使い分け C# ではメソッドを名前を付けずに定義できる「匿名メソッド」や「ラムダ式」を使うことができます。どちらも一時的な処理を簡潔に書くために利用されますが、記法や使い勝手に違いがあります。本記事では、ラムダ式と匿名メソッドの違いと、実際の使い分け... 2025.09.01 C#
C# 【C#】using宣言とIDisposableの基本|リソース管理のベストプラクティス C# で開発をしていると、ファイルやネットワーク接続、データベース接続など「リソースの解放」が必要な処理に多く出会います。リソースを正しく解放しないと、メモリリークや接続数の枯渇といった問題につながります。そのために用意されている仕組みが ... 2025.09.01 C#
C# 【C#】Nullable型(?)とnull合体演算子(??)の活用方法 C# では値型は通常 null を保持できません。しかし「Nullable型」を使うことで値型にも null を扱えるようになります。また「null合体演算子(??)」を使うと、null の場合に代替値を設定できるため、コードを簡潔に記述で... 2025.09.01 C#
C# 【C#】LINQの応用|GroupBy・OrderBy・Joinの使い方 C# の LINQ はコレクションや配列を効率的に操作するための強力な仕組みです。基本的な Where や Select に加えて、GroupBy・OrderBy・Join を使いこなすことで、データ集計や並べ替え、複数データの結合が簡単に... 2025.09.01 C#
C# 【C#】async/awaitで非同期処理を簡単に書く方法 C# では async / await を使うことで、複雑になりがちな非同期処理を直感的に記述できます。従来のコールバックや Task を直接扱うコードに比べて可読性が高く、同期処理のように自然に書けるのが特徴です。本記事では async ... 2025.09.01 C#
C# 【C#】プロパティとフィールドの違い C# のクラス設計では「プロパティ」と「フィールド」を正しく使い分けることが重要です。どちらもデータを保持するために使われますが、役割や性質に違いがあります。本記事ではプロパティとフィールドの違いを整理し、適切な使いどころを解説します。フィ... 2025.08.31 C#
C# 【C#】静的メンバー(static)の使いどころ C# ではクラスのメンバーを static として定義すると、インスタンスを生成しなくても利用できる「静的メンバー」になります。静的メンバーは共通の値や処理を扱いたいときに便利ですが、使い方を誤ると柔軟性を失うこともあります。本記事では s... 2025.08.31 C#
C# 【C#】値型と参照型の違いをわかりやすく解説 C# のデータ型は大きく「値型」と「参照型」に分けられます。この2つはメモリ上での扱い方が異なり、プログラムの挙動に大きな影響を与えます。特に変数の代入やメソッド呼び出しの際に違いが出るため、しっかり理解しておくことが重要です。本記事では値... 2025.08.31 C#
C# 【C#】null参照エラーの原因と解決方法< C# を使っていると頻繁に遭遇するのが「null参照エラー(NullReferenceException)」です。これは、オブジェクトが存在しない(null の状態)にもかかわらず、そのメンバーにアクセスしようとしたときに発生します。本記事... 2025.08.31 C#
C# 【C#】LINQの基本|Where・Selectの使い方 C# にはコレクションや配列を効率的に扱うための強力な機能として「LINQ(Language Integrated Query)」が用意されています。LINQ を使うとデータの検索や変換をシンプルに記述でき、可読性の高いコードを書けます。本... 2025.08.31 C#
C# 【C#】DateTimeで日付・時刻を扱う方法 C# で日付や時刻を扱う際には DateTime 構造体を利用します。DateTime を使うことで現在日時の取得、日付の計算、文字列への変換などが簡単に行えます。本記事では DateTime の基本的な使い方を解説します。現在の日時を取得... 2025.08.30 C#