Start Debugging

C# 14 の機能

C# 14 で実際にリリースされたもの、コード付きで。

このまとめは C# 14 の言語機能について私が書いたすべてを集めたものです: union 型、partial コンストラクターとイベント、extension 型、そして公式のリリースノートでは見落としやすい細かなエルゴノミクスの改善。

まず読むべき記事

C# 12 から移行する場合は、union 型と partial メンバーに関する記事から始めてください。この 2 つが最大の動作変更です。その他はすべて使い勝手の改善です。

このページについて

下のリストは、c# 14csharp 14c#csharpc# language のいずれかのタグが付いた記事を自動的に集めたものです。新しい順に並びます。

インデックス (138 件)

2026 / 05

2026 / 04

2026 / 02

2026 / 01

2025 / 04

2025 / 01

  • .NET のパフォーマンス: ToList vs ToArray

    .NET 9 は InlineArray を活用して ToArray のパフォーマンスを大幅に改善し、ToList より高速かつメモリ効率の良いものにします。.NET 8 と .NET 9 を比較したベンチマークを参照ください。

  • C# 13: 認識される任意のコレクション型で params コレクションを使う

    C# 13 では params 修飾子が配列を超えて Span、ReadOnlySpan、IEnumerable、その他のコレクション型をサポートするように拡張され、ボイラープレートが減って柔軟性が向上します。

  • C# 13 への切り替え方

    'Feature is not available in C# 12.0' を修正し、ターゲットフレームワークを変更するか .csproj ファイルで LangVersion を設定して、プロジェクトを C# 13 に切り替える方法。

2024 / 12

  • C# 14.0 の新機能

    field キーワード、拡張メンバー、null 条件付き代入、暗黙的な span 変換など、C# 14.0 のすべての新機能をまとめます。

  • C# 言語のバージョン履歴

    C# の進化により、モダンで高パフォーマンスな言語へと変貌を遂げました。本ガイドはあらゆる主要なマイルストーンを追跡します。初期 (C# 1.0 - 1.2)。C# は 2002 年に .NET Framework の主要言語として登場しました。Java に似ていましたが、Windows 開発に焦点を当てていました。バージョン 1.2 はその後すぐに小さな...

2023 / 11

2023 / 10

  • C# 機能を experimental としてマークする方法

    C# 12 から、新しい ExperimentalAttribute を使って型、メソッド、プロパティ、アセンブリを experimental としてマークできるようになりました。diagnosticId、pragma タグ、UrlFormat と組み合わせた使い方を紹介します。

  • C# ref readonly パラメーター

    C# の ref readonly 修飾子は、読み取り専用の参照を渡すより透明性の高い方法を提供します。in 修飾子に対して、より厳しい制約と呼び出し側からの見えやすさをどう改善するかを解説します。

  • C# 配列をシャッフルするには?

    C# で配列をシャッフルするいちばん簡単な方法は、.NET 8 で導入された Random.Shuffle を使うことです。配列にも Span にも、in-place で動作します。

  • C# NullReferenceException とは何で、どう直すか?

    C# で NullReferenceException が発生する原因、デバッグの仕方、null チェックや null 条件演算子、null 許容参照型を使った防止方法を解説します。

  • 既存の JsonSerializerOptions に TypeInfoResolver を追加・削除する

    .NET 8 で追加された TypeInfoResolverChain プロパティを使って、既存の JsonSerializerOptions に TypeInfoResolver を追加したり、そこから削除したりする方法を解説します。

  • C# 12 Interceptors

    .NET 8 のコンパイラーに導入された実験的機能、C# 12 の interceptors を解説します。InterceptsLocation 属性を使ってコンパイル時にメソッド呼び出しを差し替える方法を紹介します。

2023 / 09

2023 / 08

  • C# 12 インライン配列 (Inline arrays)

    インライン配列を使うと、struct 型の中に固定サイズの配列を作成できます。インラインバッファーを持つそのような struct は、unsafe な固定サイズバッファーと同等のパフォーマンスを発揮します。インライン配列は主にランタイムチームや一部のライブラリ作者が、特定のシナリオでパフォーマンスを改善するために使うことを想定しています。多くの場合...

  • C# 12 コレクション式 (Collection expressions)

    C# 12 では、配列を作るための新しい簡潔な構文が導入されました。次のような形です。重要な点として、配列の型は明示的に指定する必要があるため、変数宣言に var は使えません。同様に、Span<int> を作りたい場合は次のようにできます。多次元配列 この簡潔な構文の利点は...

  • C# プロセスの終了を待つには?

    プロセスの終了を待つには WaitForExit メソッドが使えます。コードは同期的にプロセスの終了を待ち、その後で実行を再開します。例を見てみましょう。上のコードは新しい cmd.exe プロセスを開始し、timeout 5 コマンドを実行します。process.WaitForExit() の呼び出しによって、プログラムは...

  • C# 12 任意の型に alias を付ける

    C# 12 では using alias ディレクティブの制限が緩和され、名前付きの型だけでなく任意の型に alias を付けられるようになりました。これにより、タプル、ポインター、配列型、ジェネリック型などにも alias を付けられます。タプルの完全な構造的な形を書く代わりに、短くて分かりやすい alias を...

  • C# に With...End With 文に相当する構文はありますか?

    VB の With...End With 文は、単一のオブジェクトを繰り返し参照する一連の文を、メンバーアクセスのための簡略化された構文で実行できます。C# に相当する構文はあるでしょうか。ありません。最も近いのはオブジェクト初期化子ですが、これは新しいオブジェクトのインスタンス化にしか使えません。

2023 / 07

  • C# 12 - プライマリコンストラクター

    C# 12 から、クラスや構造体内でプライマリコンストラクターを定義できるようになりました。パラメーターは型名の直後の括弧に置かれます。これらのパラメーターは広いスコープを持ち、プロパティやフィールドの初期化、メソッドやローカル関数内の変数、ベースコンストラクターへの引き渡しに利用できます。

2023 / 06

  • C# でプログラミングを始める方法

    Visual Studio のセットアップから、最初のプログラムを書くこと、学習リソースを見つけることまで、C# プログラミングを始めるための初心者向けガイドです。

  • C# 12 への切り替え方法

    ターゲットフレームワークを .NET 8 に更新するか、.csproj ファイルで LangVersion を設定して、C# 12 の言語バージョンエラーを解決します。

  • C# 12 の新機能

    プライマリコンストラクター、ラムダ既定パラメーター、コレクション式、インライン配列など、C# 12 の新機能の概要です。

2023 / 05

2023 / 03

2020 / 11

2020 / 05

  • C# using var (using 宣言)

    C# 8 の using 宣言 (`using var`) を使えば、入れ子の波かっこなしで IDisposable オブジェクトを破棄できます。構文、スコープのルール、`using` ブロックを選ぶべき場面を解説します。

2020 / 04

  • C# 8.0 の null 合体代入 ??=

    キャッシュや条件付き代入などの実用的な例を交えて、C# 8.0 の null 合体代入演算子 (??=) の動作を学びます。

2019 / 01

2013 / 10

2013 / 06

2013 / 05

2012 / 01

  • C#: Hex を Color に変換する

    Hex のカラーコード (RGB と ARGB の両形式) を Color オブジェクトに変換する C# の拡張メソッドです。

  • code snippets を使って生産性を上げる

    Visual Studio の code snippets が、短いエイリアスで再利用可能なコード片を挿入できる仕組みで、いかに生産性を上げてくれるかを解説します。

すべてのまとめ ホーム