2023-09-05 csharpdotnetdotnet-8 .NET 8 非公開メンバーを JSON シリアライズに含める .NET 8 で JsonInclude 属性を使って、private、protected、internal なプロパティを JSON シリアライズに含める方法を解説します。
2023-08-31 csharp C# 12 インライン配列 (Inline arrays) インライン配列を使うと、struct 型の中に固定サイズの配列を作成できます。インラインバッファーを持つそのような struct は、unsafe な固定サイズバッファーと同等のパフォーマンスを発揮します。インライン配列は主にランタイムチームや一部のライブラリ作者が、特定のシナリオでパフォーマンスを改善するために使うことを想定しています。多くの場合...
2023-08-30 csharp C# 12 コレクション式 (Collection expressions) C# 12 では、配列を作るための新しい簡潔な構文が導入されました。次のような形です。重要な点として、配列の型は明示的に指定する必要があるため、変数宣言に var は使えません。同様に、Span<int> を作りたい場合は次のようにできます。多次元配列 この簡潔な構文の利点は...
2023-08-11 csharpdotnet C# プロセスの終了を待つには? プロセスの終了を待つには WaitForExit メソッドが使えます。コードは同期的にプロセスの終了を待ち、その後で実行を再開します。例を見てみましょう。上のコードは新しい cmd.exe プロセスを開始し、timeout 5 コマンドを実行します。process.WaitForExit() の呼び出しによって、プログラムは...
2023-08-06 csharp C# 12 任意の型に alias を付ける C# 12 では using alias ディレクティブの制限が緩和され、名前付きの型だけでなく任意の型に alias を付けられるようになりました。これにより、タプル、ポインター、配列型、ジェネリック型などにも alias を付けられます。タプルの完全な構造的な形を書く代わりに、短くて分かりやすい alias を...
2023-08-05 csharp C# に With...End With 文に相当する構文はありますか? VB の With...End With 文は、単一のオブジェクトを繰り返し参照する一連の文を、メンバーアクセスのための簡略化された構文で実行できます。C# に相当する構文はあるでしょうか。ありません。最も近いのはオブジェクト初期化子ですが、これは新しいオブジェクトのインスタンス化にしか使えません。
2023-07-30 csharp C# 12 - プライマリコンストラクター C# 12 から、クラスや構造体内でプライマリコンストラクターを定義できるようになりました。パラメーターは型名の直後の括弧に置かれます。これらのパラメーターは広いスコープを持ち、プロパティやフィールドの初期化、メソッドやローカル関数内の変数、ベースコンストラクターへの引き渡しに利用できます。
2023-06-11 csharpdotnet C# でプログラミングを始める方法 Visual Studio のセットアップから、最初のプログラムを書くこと、学習リソースを見つけることまで、C# プログラミングを始めるための初心者向けガイドです。
2023-06-10 csharp C# 12 への切り替え方法 ターゲットフレームワークを .NET 8 に更新するか、.csproj ファイルで LangVersion を設定して、C# 12 の言語バージョンエラーを解決します。