C#
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 string 定数での Span<vhar> のパターン マッチ 」。公式 Learn の記事は次です。 learn.microsoft.com 記載は 「 C# 11 以降では、次の例のように~ 」から始まる箇所</vhar>…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 改善された、メソッド グループからデリゲートへの変換 」。公式 Learn の記事は C# 11 の新機能の記事しか見つけることができませんでした。 この機能、説明を…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 "警告ウェーブ 7" 」。公式 Learn の記事は次です。 learn.microsoft.com 新しい警告 ( warning ) が追加されました。型名がすべて英小文字だと警告になります。…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 auto-default 構造体 」。公式 Learn の記事は次です。 learn.microsoft.com 「 C# 11 以降では、構造体に初期化されていないフィールドがある場合、~ 」 から…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 汎用属性 」。公式 Learn の記事は C# 11 の新機能のページにしか見つけられませんでした。 この新機能日本語よりも英語の名前の方が分かりやすいと思います。「…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 リスト パターン 」。公式 Learn の記事は次です。 learn.microsoft.com これは、公式 Learn をさらっと見るだけで特に気になる点は深掘りはしなくても十分把握…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 未加工の文字リテラル 」。公式 Learn の記事は次です。 機能を表す言葉が 未加工の文字リテラル で機能名が 生文字列リテラル のようです。両方の言葉を覚えて…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 文字列補間式の改行 」。公式 Learn の記事は次です。 記事中の「 C# 11 以降では、補間される式に改行を含めることができます。 」から始まる部分が今回の新機…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 拡張 nameof スコープ 」。公式 Learn の記事は次です。 メソッドに付ける属性で、そのメソッドのパラメータ名で nameof できます。 ■ 確認 次のようなコードが…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 required 修飾子 」。公式 Learn の記事は次です。 クラスや構造体のメンバーを required キーワードで修飾すると必須にできます。必須とは初期化が必須というこ…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ファイルスコープ型 」。公式 Learn の記事は次です。 learn.microsoft.com file という型修飾子が追加されました。アクセス修飾子とは書いてありませんが、アク…
C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 UTF-8 の文字列リテラル 」。公式 Learn の記事は次です。 文字列の後ろ ( 閉じの " の後ろ ) に u8 を付けると UTF-8 エンコードの System.ReadOnlySpan<T> が得ら</t>…
これから C# 11 の新機能を確認していきたいと思います。 この記事はそのための進捗をメモする記事です。確認したら確認記事へのリンクを追加していきます。 C# 11 の新機能一覧 (公式 Learn のページ) ■ 新機能リスト ファイル スコープ型 ジェネリック型数…
C# 11 での破壊的変更によって使えなくなった型名があります。 scoped と file です。 このように。 ただし、現実として、考えた場合、上のように Scaped 、 File は OK のようなのでこの影響を受けることはないでしょう。 .NET 6 では scoped 、 file は有…
以前に Power Automate である列の値でグルーピングした中で別の項目値が最大の行のリストを作る記事を書きました。 rksoftware.hatenablog.com この中で C# で書くとということでこんなコードを書きました。 var maxs = values?.GroupBy(x => x.A).Select(x…
ある列の値でグルーピングした中で別の項目値が最大の行のリストを作る、非常に良くある処理です。あまりにも頻出しすぎて何度かいたかもうわかりません。 ■ C# で書くとこんな感じのやつです 分かりやすく C# で書くとこんな感じの一文の処理です。 var max…
■ C# 10.0 での新機能 ・AsyncMethodBuilder のオーバーライド (AsyncMethodBuilder override) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/general#asyncmethodbuilder-attribute 非同期メソッド (async メソッド) をコ…
■ C# 10.0 での新機能 ・補間された文字列の改善 (ImprovedInterpolatedStrings) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/general#interpolatedstringhandler-and-interpolatedstringhandlerarguments-attributes ロ…
■ C# 10.0 での新機能 ・定数の補間文字列 (Constant interpolated strings) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/interpolated#structure-of-an-interpolated-string const string の定義で値に文字列補間が使えるよ…
■ C# 10.0 での新機能 ・ラムダの機能強化 ラムダ属性 (Lambda improvements) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/lambda-expressions#attributes ラムダで属性が使える、また return 値の型も書ける。メソッドの…
■ C# 10.0 での新機能 ・呼び出し元の引数の式 (Caller argument expression) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/caller-information#argument-expressions 引数の部分で書かれた式を呼び出し先のメソッドで文…
■ C# 10.0 での新機能 ・強化された #line ディレクティブ (Enhanced #line directives) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives#error-and-warning-information #line ディレクティブで Razor などで…
■ C# 10.0 での新機能 ・汎用属性 (Generic attributes) https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/generics/generics-and-attributes 属性クラスでジェネリクスが使える。 [Sample<int>] void Method() {; } class SampleAttribute<T> : S</t></int>…
■ C# 10.0 での新機能 ・明確な代入分析の改善 (Improved definite assignment analysis) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/nullable-analysis ( ※いいページが見つけられませんでした ) 変数に値がセットされ…
■ C# 10.0 での新機能 ・拡張プロパティのパターン (Extended property patterns) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/patterns#property-pattern パターンマッチングの機能強化。プロパティの中のオブジェクトの…
■ C# 10.0 での新機能 ・ファイル スコープの名前空間 (File scoped namespaces) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/namespace ファイルの先頭で名前空間を書くだけでファイル全体に名前空間を指定できる。( { } …
・グローバルな using ディレクティブ (Global using directive) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive#global-modifier どこかの1ファイルで using するだけですべてのファイルで using したこと…
・パラメーターなしの構造体コンストラクター ( Parameterless struct constructors) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/struct#parameterless-constructors-and-field-initializers 構造体でパラメータ (引…
C# 10.0 の新機能の名前と公式ガイドページへのリンクをまとめています。(途中) 注1)機能の名前はできるだけ公式ガイドから言葉を拾うようにしましたが、完全ではありません。 注2)リンク先ページはできるだけ日本語ページを拾うようにしましたが、見つ…
C# 2.0 以降の新機能の名前と公式ガイドページへのリンクをまとめました。(C# 10.0 ~ ) (途中) 注1)機能の名前はできるだけ公式ガイドから言葉を拾うようにしましたが、完全ではありません。 注2)リンク先ページはできるだけ日本語ページを拾うようにし…