というタイトルで.NETラボで喋ってきました。
スライドはこちら
内容はこんな感じ。
- C# 14 の新機能
- Extension members
- field keyword の追加
- First-class Span Types
- 暗黙的型変換
- オーバーロード解決時における Span / ReadOnlySpan の優先
- nameof が unbound generic type をサポート
- ラムダ式においてパラメータ修飾子を用いる際の記述の簡略化
- Partial events
- Null-conditional assignment
- 複合代入演算子のオーバーロード
- .NET 10 の新しい BCL
- Guid.Parse / TryParse が ROS<byte> 対応
- Console.Write / WriteLine が ROS<char> 対応
- LINQ
- LeftJoin
- RightJoin
- Shuffle
- Sequence
- InfiniteSequence
- Async LINQ
- MemoryExtensions の各種拡張メソッドに IEqualityComparer 受け取るオーバーロードが追加
- MemoryExtensions に CountAny / ReplaceAny / ReplaceAnyExcept が追加
- System.Runtime.CompilerServices に InlineArray2 ~ InlineArray16 が追加
- System.Threading に Volatile.ReadBarrier / WriteBarrier が追加
- System.Net.ServerSentEvents が BCL 入り
- WebSocketStream
- Create
- CreateReadableMessageStream
- CreateWritableMessageStream
- HttpMethod.Query の追加
- Numeric Ordering for String Comparison
- TimeSpan.FromMilliseconds のちょっとしたオーバーロードの追加
- OrderedDictionary.TryAdd / TryGetValue のオーバーロード追加
- System.Text.Json
- プロパティの重複の禁止
- JsonSerializerOptions.Strict の追加
- JsonMarshal.GetRawUtf8PropertyName
- JsonSerializer.DeserializeAsync に PipeReader を受け取るオーバーロード追加
- ActivitySource / Meter に Schema URL を設定できるように
- FrozenDictionary.Create
- ImmutableDictionary.CreateRangeWithOverwrite
- Convert.FromHexString / TryToHexString の ROS<byte> 対応
- .NET 10 の新機能
- File based apps
- slnx 爆誕!さらば sln!