.Net 3.5不支持元组.太糟糕了,但不确定future 的版本.net是否支持元组?

推荐答案

我刚刚从MSDN杂志上读到这篇文章:Building Tuple

以下是摘录:

即将发布的Microsoft 4.0版本 .NET Framework引入了一种新类型 叫做System.Tuple.System.Tuple是一个 固定大小的集合 异构类型的数据. 他说: 他说:

 

与数组一样,元组也有固定的

 

已经有一个示例说明了 在Microsoft中浮动的元组 .NET Framework,在 System.Collections.Generic命名空间: KeyValuePair.而KeyValuePair可以被认为是相同的 作为Tuple,因为它们都是 包含两个东西的类型, KeyValuePair感觉与 元组,因为它调用一种关系 在它存储的两个值之间(和 有很好的理由,因为它支持 DICTIONARY类).

此外,元组可以是任意的


虽然像F#这样的一些语言对元组有特殊的语法,但您可以使用任何语言中新的通用元组类型.回顾第一个示例,我们可以看到,虽然元组很有用,但在没有元组语法的语言中,元组可能过于冗长:

class Program {
    static void Main(string[] args) {
        Tuple<string, int> t = new Tuple<string, int>("Hello", 4);
        PrintStringAndInt(t.Item1, t.Item2);
    }
    static void PrintStringAndInt(string s, int i) {
        Console.WriteLine("{0} {1}", s, i);
    }
}

使用C#3.0中的var关键字,我们可以删除tuple变量上的类型签名,这允许代码更具可读性.

var t = new Tuple<string, int>("Hello", 4);

我们还向静态元组类添加了一些工厂方法,这使得在支持类型推断的语言(如C#)中构建元组更加容易.

var t = Tuple.Create("Hello", 4);

.net相关问答推荐

NuGet 兼容与计算框架(Xamarin 和 .NET 6)

在 .NET 中使用 AES 解密时缺少后半字节

DbContext 丢弃更改而不释放

代理、包装器或外观类之间有什么区别

log4net 与 TraceSource

ILMerge 最佳实践

extern 在 C# 中是如何工作的?

SubscribeOn 和 ObserveOn 有什么区别

为什么字典比列表快得多?

.net:System.Web.Mail 与 System.Net.Mail

msbuild,定义条件编译符号

如何从字符串中删除所有字母字符?

Java 和 .NET 技术/框架的类似物

NuGetPackageImportStamp 有什么用?

从 .NET 中的字符串末尾修剪字符串 - 为什么会丢失?

检索字典值最佳实践

dotnet 恢复警告 NU1701

Environment.GetFolderPath(...CommonApplicationData) 在 Vista 上仍然返回C:\Documents and Settings\

将控制台输出镜像到文件

如何使用匿名方法返回值?