元组故障列表

时间:2012-02-01 20:59:55

标签: c# list collections tuples abstraction

编辑:解决了,抱歉,这是由于一个错字。


此代码。

List<Tuple<Int16, Int16>> a = new List<Tuple<Int16, Int16>>();
Tuple<UInt16, UInt16> b = Tuple.Create<UInt16, UInt16>(4, 2);
a.Add(b);

a.Add(b)

生成以下错误
The best overloaded method match for
'System.Collections.Generic.List<System.Tuple<short,short>>
.Add(System.Tuple<short,short>)'
has some invalid arguments.

简而言之

List<Tuple<short,short>>.Add(Tuple<short,short>)
has invalid arguments

我看不出这是怎么回事。

4 个答案:

答案 0 :(得分:4)

Tuple<Int16, Int16>Tuple<UInt16, UInt16>是两种不同类型的元组。

答案 1 :(得分:3)

您正尝试将UInt16对添加到Int16对列表中。这不起作用。

您可以将Int16对添加到Int16对列表中:

List<Tuple<Int16, Int16>> a = new List<Tuple<Int16, Int16>>();
Tuple<Int16, Int16> b = Tuple.Create<Int16, Int16>(4, 2);
a.Add(b);

答案 2 :(得分:1)

答案 3 :(得分:0)

它正好告诉你问题和解决方案。尝试使用short而不是unsigned short