web-dev-qa-db-ja.com

C#7.0 ValueTuplesと匿名型

新しいC#7.0 ValueTuplesを見て、Anonymous Typesを完全に置き換えるかどうか疑問に思っています。 ValueTuplesは構造体であるため、クラスであるAnonymous Typesとは少し異なる動作をすることを理解しています。ただし、ValueTupleよりもAnonymous Typeを使用する方が望ましいユースケースは見当たりません。

C#7.0でValueTuplesを使用するよりもAnonymous Typeを使用するほうが有利なユースケースはありますか?

26
Tim Pohlmann

匿名型は不変ですが、タプルはそうではありません。これは、匿名型がプロパティを公開し、タプルがフィールドを公開するという事実に反映されています。ほとんどの場合、データバインディングにはプロパティが必要です。

既存のコードの多くは参照型でのみ機能し、値型では機能しません。特に頭に浮かぶのは、Entity Frameworkの予測です。値型への予測は実装されていません。

19
user743382