答案 0 :(得分:5)
元组目前在C#中并没有那么大的好处,因为它们没有任何简洁的语法。但是,这个概念在函数语言中很常见,例如F#(.NET 4.0新手)。
因此,如果您在F#中编写应用程序的一部分,或者如果您使用的是用F#编写的库,则可能会遇到它们。如果您只使用C#,我会说您最好使用anonymous types。它们允许您命名各种属性,而它们将使用元组称为Item1
到ItemX
。不是很具描述性。
当然,如果你想从一个方法返回多个值(使用不同的类型),那么使用匿名类型不是一个选项,在这种情况下,如果你正在做一些快速和脏的东西,使用元组可能是一个不错的解决方案
答案 1 :(得分:4)
元组只是从函数返回多个值的简单方法。
答案 2 :(得分:4)
最好的是容易多值返回,因此编码性能将是一个答案。它也很可读。
即:
return new Tuple<int, string, char>(1, "some string", 10.00);
与
相似public class ReturnMany
{
public int intValue { get; set; }
public string strValue { get; set; }
public decimal decValue { get; set; }
}
return new ReturnMany() { intValue = 1, strValue = "some string", decValue = 10.00 }
答案 3 :(得分:4)
.NET中的元组是不可变的,因此它们也是一种在线程上传递大量值的简单方法。我目前正在使用Retlang的元组,它们非常适合与这种类型的库一起使用。