540 Views
December 09, 24
スライド概要
New Relic株式会社、Technical Support Manager.
マスター タイトルの書式設定 C#13に入らなかっ た機能 2 0 2 4/1 2 /0 9 C# Tok y o @t ana ka _7 33 1
マスター @tanaka_733 自己紹介 タイトルの書式設定 • New Relic株式会社 テクニカルサポート部部長 • C# Tokyo運営メンバー • Microsoft MVP for Developer Technologies • 最近の趣味 • • • 草ソフトボール ゴルフ ピアノ 2 2
マスター タイトルの書式設定 今日のテーマ • C# 13が.NET 9とあわせてリリースされました • C# 13では採用されなかった(GAされなかった)機能を のぞいてみましょう • 「採用されなかった」の基準が難しいので、 LDM NotesやIssues、++C++; の情報を参考に いくつかピックアップしています • と思って調べたいたら、 C# 13でどこまで実装されたのか結局よくわからん!? という状態になってしまいました… 3 3
マスター タイトルの書式設定 今日のテーマ • fieldプロパティ • ファーストクラスSpan • Extensions Member • null条件アクセスにおけるincrement/decrement演算子 4 4
マスター タイトルの書式設定 fieldプロパティ • プロパティ宣言でバッキングフィール ドをfieldとして参照 • ステータス • C# 13でpreviewとして実装 • Issue 仕様 • ドキュメント 5 5
マスター タイトルの書式設定 ファーストクラスSpan • C# 7.2でSpan<T>、ReadOnlySpan<T>が導入 • コンパイラ的には単なる構造体 • Span<T>、ReadOnlySpan<T>、T[]をまとめて扱いたい • ステータス • 提案されている仕様 • 一部導入済み? • コレクション式でSpanへの解決を優先 (C# 12) • C# 13でのいくつかの機能はSpanを特別扱いしたわけではないが Spanの使い勝手が向上している(次のページで) • 拡張メソッドのレシーバーの解決 (未実装?) 6 6
マスター タイトルの書式設定 ファーストクラスSpan (C# 13) • params にコレクション式で表現できるものが指定可能 • イテレーター・asyncメソッド内でrefとunsafeが指定可能 • ジェネリック型制約にallows ref structが指定可能に • 標準のAction、Funcにも追加 7 7
マスター タイトルの書式設定 ファーストクラスSpan (未実装?) • こういう拡張メソッドを使えるようにしたい 8 8
マスター タイトルの書式設定 Extensions Members • メソッド以外のメンバーも拡張できるように • スタータス • 未実装だが最近活発的に議論中 • LDM Notes 提案された仕様 9 9
マスター タイトルの書式設定 null条件アクセスにおけるincrement/decrement演算子 • LDM Note にて実装しない方針 • 右のサンプルで「議論中」と記載の null条件アクセスは議論中だが あまり動きがなさそう 10 10