UfcppSample
UfcppSample copied to clipboard
http://ufcpp.net/ 向けのサンプル
http://ufcpp.net/study/csharp/sp_delegate.html に「修正予定」が延々残ってたので issue 化。 - [ ] `Action a = new Action(Method)` C# 2.0 からは `Action a = Method` って書けるようになったんだし、サンプルコード的には積極的に`new`省略の方使いたい。 (とはいえ、`new`されてるんだよ、と言う話は要りそう。) - [ ] first-class method このページとは独立して「first-class method」みたいな章を追加したい。 組み込み型なら -...
https://twitter.com/ufcpp/status/806808910799609860 (はてな)とか(びっくりマーク)とか入れておいた方が検索性はよさそう。 `!` は英語圏だと bang (「バン」って音で脅かす感じ)って読むこと多そうっぽい。`!.` だと bang dotみたいな。まあ、exclamationとか長いし。 `?.` はすっかり elvis が定着しちゃってるけど、`?`の読みは何かbangみたいなのあるのか探してみる。
https://ufcpp.net/study/csharp/resource/refstruct/ に追記。 https://ufcpp.net/blog/2024/2/ref-struct-interface/ をベースに。 ページ改めてもいいかも。 済: allows (アンチ制約)の話だけ↓に追加でもいいかも。 https://ufcpp.net/study/csharp/sp2_generics.html#where
C# 13
* [x] #466 * [x] #465 * [x] #473 * [x] #474 * [x] #463 * [ ] #456 * [x] #478 * [x] コレクション式 * 拡張メソッドの Add も見る *...
書くのは https://ufcpp.net/study/csharp/oo_class.html#contextual-partial-keyword か https://ufcpp.net/study/csharp/oo_class.html#extended_partial_method の直後かな。 ```cs partial class A { public partial int X { get; } } partial class A { public partial int X => 0; } ```...
関連しそうな場所: * https://ufcpp.net/study/csharp/sp_unsafe.html * https://ufcpp.net/study/csharp/sp_ref.html?p=2#ref-returns * https://ufcpp.net/study/csharp/resource/refstruct/#stack-only * 「yield return をまたいで使えない」記述あり * https://ufcpp.net/study/csharp/sp2_iterator.html * 「unsafe にはできない」記述あり * https://ufcpp.net/study/csharp/sp5_async.html * 「unsafe 中に await 書けない」「lock 中に awai 書けない」記述あり 関連: * https://ufcpp.net/study/csharp/sp_unsafe.html#stackalloc-initializer *...
csharplang 8697 https://github.com/dotnet/csharplang/blob/main/proposals/csharp-14.0/extensions.md 配信で取り上げた回 https://github.com/ufcpp-live/UfcppLiveAgenda/issues/102 たぶん、C# 14 だと「プロパティの追加」と「静的メンバーの追加」だけかな。 メソッドも「新文法」に。 ↑ その後、拡張 operator は入った。 コンストラクターとかは C# 15 に回ったとのこと。 ExtensionMarkerAttribute とかあるみたいなんだけどどう使ってるのか調べる。 ## 過去 https://ufcpp.net/blog/2024/3/extensions/ (この時代の実装は「やってみたけどダメだった」撤回)
https://ufcpp.net/study/csharp/sp_params.html に追記。 https://ufcpp.net/blog/2024/3/params-collections/ ベース。
https://ufcpp.net/blog/2024/2/first-class-span/ Span のところに書く? 「配列を渡すときのオーバーロード候補が変わる」とかだと配列近辺にある方がいい気もしつつ。 コレクション式とも絡むような気がしつつ。
https://ufcpp.net/study/csharp/oo_property.html#auto 近辺に。 ## 用語「自動プロパティ」 元々は「半自動プロパティ」って呼ばれてたけども、 最終的には「自動プロパティ」で統一したっぽい? `field` キーワードでバッキングフィールドができる。 `get;` は `get => field;` の省略形で、 `set;` は `set => field = value;` の省略形。 ↑これを全部「自動プロパティ」呼び。 ## キーワード `field` と `value` はキーワード扱いになった。 けど、`nameof(value)`...