有沒有更好的方法在C#7中使用var目標變量選擇命名元組?我必須在例1中做錯某個事情,或者完全誤解某些事情。我似乎必須明確設定目標類型才能做到這一點。在選擇語句中使用命名元組
//1. Fails to compile with "incorrect number of type parameters" issue.
var tuples = source.Select<(int A, int B)>(x => (x.A, x.B));
//2. Compiles
IEnumerable<(int A, int B)> tuples = toCheck.Select(x => (x.A, x.B));
//3. Compiles
var tuples = new HashSet<(int A, int B)>(source.Select(x => (x.A, x.B)));
太好了,我不知道你能嵌入名字中的元素見feature document在這樣的聲明裏面的元組中。 – gmn
出於好奇,爲什麼不是匿名類型中的''A = x.A''? ''var x = new {A = x.A,B = x.B};'' –
@RandRandom:這不是元組元素名稱的語法。它在聲明和元組文字中都是一致的':'。匿名類型更像是對象初始化器,「設置」屬性(儘管類型實際上是不可變的)。 –