Skip to content

Collection Expressions #447

Description

@ufcpp

前にブログ書いたやつ https://ufcpp.net/blog/2023/1/collection-literal/
ディクショナリは13行き。

https://ufcpp.net/study/csharp/st_array.html
配列のところに「C# 12でこういう風にも書けるように」みたいな話足す。
「どっち使った方がいい」みたいな質問は出そう。

配列の後ろに新ページで「コレクション」とか要るかも。

もしくは、タプルの話を含めて「初期化」系のページ要るかも。

https://ufcpp.net/study/csharp/datatype/patterns/
パターンマッチングのコレクションパターンのところに「対となる構文」紹介でリンク。

コレクション式は target-typed という話、
https://ufcpp.net/blog/2022/11/covariantarrayincident/ 配列の共変性の事故は防げるはず。

object[] arrayInitializer = new[] { "" }; // 配列初期化子は source-typed/中身からの型推論 → string[]
Console.WriteLine(arrayInitializer.GetType().Name);

object[] collectionExpression = [""]; // コレクション式は target-typed/左辺からの型推論 → object[]
Console.WriteLine(collectionExpression.GetType().Name);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions