rksoftware

Visual Studio とか C# とかが好きです

C#

メンバーと継承の少しだけマニアックな話

C#

C# 11 で static virtual メンバーというものが出てきました。この機能を確認していて、意外と皆さんメンバーと継承の挙動をちゃんと把握せずにいる方もいるのではないか、と思いまとめてみようかと思いました。 正直、継承の挙動をちゃんと把握し書ければな…

C# 11 で Generic な算術演算を作る

C#

C# 11 で 「 ジェネリック型数値演算のサポート 」 という新機能が追加されました。その中の 「 インターフェイスの static virtual メンバー 」 を書いて試してみたいと思います。 rksoftware.hatenablog.com // Console.WriteLine(new SValue1(10) + new S…

C# 2.0 以降の新機能概要まとめ (C# 11.0)

C#

C# 2.0 以降の新機能の名前と公式ガイドページへのリンクをまとめました。(C# 11.0) ■ C# 11.0 での新機能 ・ファイル スコープ型 https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/file 型を修飾子 file で定義することで、同…

C# 11 の新機能を確認「 ジェネリック型数値演算のサポート - 符号なし右シフト演算子 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ジェネリック型数値演算のサポート - 符号なし右シフト演算子 」。公式 Learn の記事は次です。 learn.microsoft.com 新しい右シフト演算子 >>> ができました。 …

C# 11 の新機能を確認「 ジェネリック型数値演算のサポート - インターフェイスの static virtual メンバー 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ジェネリック型数値演算のサポート - インターフェイスの static virtual メンバー 」。公式 Learn の記事は次です。 learn.microsoft.com インターフェイスに s…

C# 11 の新機能を確認「 ジェネリック型数値演算のサポート - ユーザー定義の checked 演算子 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ジェネリック型数値演算のサポート - ユーザー定義の checked 演算子 」。公式 Learn の記事は次です。 learn.microsoft.com 演算子のオーバーロードをする際に…

C# 11 の新機能を確認「 ジェネリック型数値演算のサポート - 緩和されたシフト演算子 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ジェネリック型数値演算のサポート - 緩和されたシフト演算子 」。公式 Learn の記事は次です。 learn.microsoft.com シフト演算子のオーバーロードをする際に、…

C# 11 の新機能を確認「 ref フィールドと scoped ref 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ref フィールドと scoped ref 」。公式 Learn の記事は次です。 「 ref フィールド 」について learn.microsoft.com 「 C# 11 以降では、ref struct に ref フィ…

C# 11 の新機能を確認「数値 IntPtr 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 数値 IntPtr 」。公式 Learn の記事は次です。 learn.microsoft.com nint が System.IntPtr の、 nuint が System.UIntPtr のそれぞれエイリアスになったようで…

C# 11 の新機能を確認「 string 定数での Span<char> のパターン マッチ 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 string 定数での Span<vhar> のパターン マッチ 」。公式 Learn の記事は次です。 learn.microsoft.com 記載は 「 C# 11 以降では、次の例のように~ 」から始まる箇所</vhar>…

C# 11 の新機能を確認「 改善された、メソッド グループからデリゲートへの変換 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 改善された、メソッド グループからデリゲートへの変換 」。公式 Learn の記事は C# 11 の新機能の記事しか見つけることができませんでした。 この機能、説明を…

C# 11 の新機能を確認「 "警告ウェーブ 7" 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 "警告ウェーブ 7" 」。公式 Learn の記事は次です。 learn.microsoft.com 新しい警告 ( warning ) が追加されました。型名がすべて英小文字だと警告になります。…

C# 11 の新機能を確認「 auto-default 構造体」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 auto-default 構造体 」。公式 Learn の記事は次です。 learn.microsoft.com 「 C# 11 以降では、構造体に初期化されていないフィールドがある場合、~ 」 から…

C# 11 の新機能を確認「 汎用属性 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 汎用属性 」。公式 Learn の記事は C# 11 の新機能のページにしか見つけられませんでした。 この新機能日本語よりも英語の名前の方が分かりやすいと思います。「…

C# 11 の新機能を確認「 リスト パターン 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 リスト パターン 」。公式 Learn の記事は次です。 learn.microsoft.com これは、公式 Learn をさらっと見るだけで特に気になる点は深掘りはしなくても十分把握…

C# 11 の新機能を確認「 未加工の文字リテラル 」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 未加工の文字リテラル 」。公式 Learn の記事は次です。 機能を表す言葉が 未加工の文字リテラル で機能名が 生文字列リテラル のようです。両方の言葉を覚えて…

C# 11 の新機能を確認「文字列補間式の改行」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 文字列補間式の改行 」。公式 Learn の記事は次です。 記事中の「 C# 11 以降では、補間される式に改行を含めることができます。 」から始まる部分が今回の新機…

C# 11 の新機能を確認「拡張 nameof スコープ」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 拡張 nameof スコープ 」。公式 Learn の記事は次です。 メソッドに付ける属性で、そのメソッドのパラメータ名で nameof できます。 ■ 確認 次のようなコードが…

C# 11 の新機能を確認「required 修飾子」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 required 修飾子 」。公式 Learn の記事は次です。 クラスや構造体のメンバーを required キーワードで修飾すると必須にできます。必須とは初期化が必須というこ…

C# 11 の新機能を確認「ファイル スコープ型」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 ファイルスコープ型 」。公式 Learn の記事は次です。 learn.microsoft.com file という型修飾子が追加されました。アクセス修飾子とは書いてありませんが、アク…

C# 11 の新機能を確認「UTF-8 の文字列リテラル」

C#

C# 11 の新機能を確認しています。目次は次の記事です。 rksoftware.hatenablog.com 今回は 「 UTF-8 の文字列リテラル 」。公式 Learn の記事は次です。 文字列の後ろ ( 閉じの " の後ろ ) に u8 を付けると UTF-8 エンコードの System.ReadOnlySpan<T> が得ら</t>…

C# 11 の新機能 (もくじメモ)

C#

これから C# 11 の新機能を確認していきたいと思います。 この記事はそのための進捗をメモする記事です。確認したら確認記事へのリンクを追加していきます。 C# 11 の新機能一覧 (公式 Learn のページ) ■ 新機能リスト ファイル スコープ型 ジェネリック型数…

C# 11 での破壊的変更、使えなくなった型名を確認する

C# 11 での破壊的変更によって使えなくなった型名があります。 scoped と file です。 このように。 ただし、現実として、考えた場合、上のように Scaped 、 File は OK のようなのでこの影響を受けることはないでしょう。 .NET 6 では scoped 、 file は有…

ある列の値でグルーピングした中で別の項目値が最大の行のリストを作る C# の別の書き方

C#

以前に Power Automate である列の値でグルーピングした中で別の項目値が最大の行のリストを作る記事を書きました。 rksoftware.hatenablog.com この中で C# で書くとということでこんなコードを書きました。 var maxs = values?.GroupBy(x => x.A).Select(x…

Power Automate である列の値でグルーピングした中で別の項目値が最大の行のリストを作る (C# でのGroupBy().Select(OrderByDescending().First())

ある列の値でグルーピングした中で別の項目値が最大の行のリストを作る、非常に良くある処理です。あまりにも頻出しすぎて何度かいたかもうわかりません。 ■ C# で書くとこんな感じのやつです 分かりやすく C# で書くとこんな感じの一文の処理です。 var max…

AsyncMethodBuilder のオーバーライド - C# 2.0 以降の新機能まとめ (C# 10.0 ~ ) (途中)

C#

■ C# 10.0 での新機能 ・AsyncMethodBuilder のオーバーライド (AsyncMethodBuilder override) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/general#asyncmethodbuilder-attribute 非同期メソッド (async メソッド) をコ…

補間された文字列の改善 - C# 2.0 以降の新機能まとめ (C# 10.0 ~ ) (途中)

C#

■ C# 10.0 での新機能 ・補間された文字列の改善 (ImprovedInterpolatedStrings) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/general#interpolatedstringhandler-and-interpolatedstringhandlerarguments-attributes ロ…

定数の補間文字列 - C# 2.0 以降の新機能まとめ (C# 10.0 ~ ) (途中)

C#

■ 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# 2.0 以降の新機能まとめ (C# 10.0 ~ ) (途中)

C#

■ C# 10.0 での新機能 ・ラムダの機能強化 ラムダ属性 (Lambda improvements) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/lambda-expressions#attributes ラムダで属性が使える、また return 値の型も書ける。メソッドの…

呼び出し元の引数の式 - C# 2.0 以降の新機能まとめ (C# 10.0 ~ ) (途中)

C#

■ C# 10.0 での新機能 ・呼び出し元の引数の式 (Caller argument expression) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/attributes/caller-information#argument-expressions 引数の部分で書かれた式を呼び出し先のメソッドで文…