ブログ 2021/12/30 ImmutableArray に対してコレクション初期化子 Immutable コレクションは現状いろんな使いにくさがあって悪名高いわけですが。 今日は「リスト パターンの回に出した [] リテラルの話」と絡むので、特に ImmutableArray とかに対してコレクション初期化子が使えないという話をします。 クイズ 以下のようなコード。 using System.Collections.Immutable; ImmutableArray<int> a = new() { 1, 2 }; foreach (var x… 続きを読む 2021/12/29 【C# 11 候補】リスト パターン【VS 17.1 p2 で追加予定】 C# にパターンがまた1個増えます。 今回はリスト。is [..] とかで配列や List<T> にマッチ。 これをリスト パターンと言います。 Roslyn 化(C# コンパイラーを C# で書き直し)した初期の頃から、C# の進化の長期テーマになってる "Programming With Data" の続きです。 以下の表の赤丸を付けたところ。 ちなみにこのリスト パターンは Visual Studio 17.1 Preview 2 向けですでに… 続きを読む 2021/12/28 【C# 11 候補】 UTF-8 リテラル .NET の UTF-8 対応がらみの続報。 byte でやりくり 元々、string (UTF-16 でデータを持ってる)に加えて Utf8String みたいな名前で UTF-8 な型を追加しようか何て話もあったんですが。 string と Utf8String の2重管理がしんどいだろう、これだけ string 前提で .NET エコシステムが確立された状況で追加は無理だろうという雰囲気になっています。 string の中身を UTF-8 に変更した方が建設的かもしれないという話も… 続きを読む 2021/12/27 【C# 11 候補】 半自動プロパティ 11月くらいからなんとか消化し始めた「C# ライブ配信で口頭では言ったけどブログ化はしてなかったやつ」、 「C# 10.0 の補足」とか、文字コード・絵文字がらみの雑談話を抜けて、 やっと「C# 11.0 候補」の話になります。 こんな時間かかるかー… 半自動プロパティ C# 11 目標で、自動プロパティにちょっと手が入りそうです。 バッキング フィールドを field キーワードで読み書きできるようにするというもの。 俗称「半自動プロパティ」。 おさらい: 初期 C# のプロパ… 続きを読む 2021/12/26 悪い意味でお気に入りの文字 〠〄 こないだ書いたベンゼン環の話とニンジャキャット終了のお知らせはある意味前振りだったりしまして。 個人的にやべぇなと思う Unicode の文字で1・2を争うのは 〠 と 〄 だったりします。 〠: U+3020、postal mark face、顔郵便マーク 〄: U+3004、Japanese industrial standard symbol、JIS マーク アップルロゴの話で書きましたが、 商標になるようなものを Unicode に入れるとか普通は考えられないわけで… 続きを読む 新しい投稿へ 過去の投稿へ
2021/12/30 ImmutableArray に対してコレクション初期化子 Immutable コレクションは現状いろんな使いにくさがあって悪名高いわけですが。 今日は「リスト パターンの回に出した [] リテラルの話」と絡むので、特に ImmutableArray とかに対してコレクション初期化子が使えないという話をします。 クイズ 以下のようなコード。 using System.Collections.Immutable; ImmutableArray<int> a = new() { 1, 2 }; foreach (var x… 続きを読む
2021/12/29 【C# 11 候補】リスト パターン【VS 17.1 p2 で追加予定】 C# にパターンがまた1個増えます。 今回はリスト。is [..] とかで配列や List<T> にマッチ。 これをリスト パターンと言います。 Roslyn 化(C# コンパイラーを C# で書き直し)した初期の頃から、C# の進化の長期テーマになってる "Programming With Data" の続きです。 以下の表の赤丸を付けたところ。 ちなみにこのリスト パターンは Visual Studio 17.1 Preview 2 向けですでに… 続きを読む
2021/12/28 【C# 11 候補】 UTF-8 リテラル .NET の UTF-8 対応がらみの続報。 byte でやりくり 元々、string (UTF-16 でデータを持ってる)に加えて Utf8String みたいな名前で UTF-8 な型を追加しようか何て話もあったんですが。 string と Utf8String の2重管理がしんどいだろう、これだけ string 前提で .NET エコシステムが確立された状況で追加は無理だろうという雰囲気になっています。 string の中身を UTF-8 に変更した方が建設的かもしれないという話も… 続きを読む
2021/12/27 【C# 11 候補】 半自動プロパティ 11月くらいからなんとか消化し始めた「C# ライブ配信で口頭では言ったけどブログ化はしてなかったやつ」、 「C# 10.0 の補足」とか、文字コード・絵文字がらみの雑談話を抜けて、 やっと「C# 11.0 候補」の話になります。 こんな時間かかるかー… 半自動プロパティ C# 11 目標で、自動プロパティにちょっと手が入りそうです。 バッキング フィールドを field キーワードで読み書きできるようにするというもの。 俗称「半自動プロパティ」。 おさらい: 初期 C# のプロパ… 続きを読む
2021/12/26 悪い意味でお気に入りの文字 〠〄 こないだ書いたベンゼン環の話とニンジャキャット終了のお知らせはある意味前振りだったりしまして。 個人的にやべぇなと思う Unicode の文字で1・2を争うのは 〠 と 〄 だったりします。 〠: U+3020、postal mark face、顔郵便マーク 〄: U+3004、Japanese industrial standard symbol、JIS マーク アップルロゴの話で書きましたが、 商標になるようなものを Unicode に入れるとか普通は考えられないわけで… 続きを読む