在.NET 4.0中使用Tuples有什么好处和常见的实际应用?

时间:2010-05-27 18:15:58

标签: c#-4.0 .net-4.0 tuples vb.net-2010

我已经阅读了有关新版.NET Framework功能提供的Tuples,并且我仍然想知道它在现实世界企业中是如何有用的应用

可以给我一个简短的解释以及一个简单但真实世界的代码示例吗?

谢谢! =)

4 个答案:

答案 0 :(得分:5)

元组目前在C#中并没有那么大的好处,因为它们没有任何简洁的语法。但是,这个概念在函数语言中很常见,例如F#(.NET 4.0新手)。

因此,如果您在F#中编写应用程序的一部分,或者如果您使用的是用F#编写的库,则可能会遇到它们。如果您只使用C#,我会说您最好使用anonymous types。它们允许您命名各种属性,而它们将使用元组称为Item1ItemX。不是很具描述性。

当然,如果你想从一个方法返回多个值(使用不同的类型),那么使用匿名类型不是一个选项,在这种情况下,如果你正在做一些快速和脏的东西,使用元组可能是一个不错的解决方案

答案 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的元组,它们非常适合与这种类型的库一起使用。