Nobuyuki Iwanaga

Results 146 comments of Nobuyuki Iwanaga

https://ufcpp.net/study/csharp/rm_nullusage.html を修正 このページ、 NRT アノテーションつける作業してもいいかも。 今、戻り値なしの `x?.M();` の話ない。 「null が来たら null を返す」のところ「非 null の時だけ呼ぶ」も足したい。 「null 許容型」は「null 許容値型」に書き換えといた方がよさそう。 戻り値なし `x?.M();` ができるんだったらそれとの整合性としては `x?.X = value;` できる方が整合性はある。 一方で、代入ってすっごい結合順位低いんで、(疑似的に) `x?(.X = value);` 相当の解釈になるの多少きもくはある。 特にイベントで...

イベントの += はだいぶよさげな用途な雰囲気。

experimental 外れてはなさそう。 実用してるプロジェクトも見つけられず。 C# 14 のページに書くかどうか…

同様の理由でもう https://ufcpp.net/study/csharp/cheatsheet/ap_ver8/ の冒頭の「補足」は消す。

ついで? ちょっと前に discord に投稿したやつコピペ: > * TargetFrameworks で net9.0;netstandard2.0 とかだとバージョン指定入れておかないと割と困ったり。 > * default と未指定が違うのは、msbuild のデフォルトと roslyn のデフォルトが違うから… > * First-class Span みたいなやべーやつが来ると「13固定」とかの需要が多少… > * latest は「手元だとうっかり .NET 10 SDK 入れちゃってて意図せず14になっちゃった。GitHub...

大幅改変して直した。 というかほぼ書き直した。

Are [intersection and union types](https://github.com/dotnet/csharplang/issues/399) too difficult to implement?

ただ、これによって新たに別のあいまい性エラーになるケースが出てくる。 (`Assert.Equals(ReadOnlySpan expected, T[] actual)` がそうらしい。) これは「`OverloadResolutionPriority` を付けて回避しようか」という話になってる。 試してみてるけど `ROS, T[]` だと問題なさそうだった。 ↓かな? ```cs C.M(new int[1], []); // first-class span でも解決不能っぽい。 static class C { public static void M(int[] s,...

NRT covariance: ```cs ReadOnlySpan s = ["a", "b"]; ReadOnlySpan n = s; // ここの nullability 警告も消える(nullable covariance が有効に)。 Console.WriteLine(string.Join(", ", n)); ```

```cs ReadOnlySpan s = ["a", "b"]; ReadOnlySpan o = s; ``` ↓ ```cs ReadOnlySpan o = ReadOnlySpan.CastUp(s); ```