C# 组元Tuple

组元是C# 4.0引入的一个新特性.需要基于.NET Framework 4.0或者更高版本。组元使用泛型来简化一个类的定义。组元多用于

方法的返回值,如果一个函数返回多个类型,这样就不在用out\ref等输出参数了,可以直接定义一个Tuple类型就可以了。

1.0 简单使用

//一个成员
Tuple<int> test = new Tuple<int>(1);
Console.WriteLine(test.Item1);

//两个成员
Tuple<int, double> test1 = new Tuple<int, double>(2, 2.3);
Console.WriteLine(test1.Item1 + test1.Item2);

2.0 嵌套使用

Tuple最多支持8个成员,如果多于8个就需要进行嵌套。

注意第8个成员很特殊,第8个成员必须嵌套定义成Tuple类型

//非8个元素
Tuple<int, Tuple<string>> test2 = new Tuple<int, Tuple<string>>(3, new Tuple<string>("Nesting"));
Console.WriteLine(test2.Item1);
Console.WriteLine(test2.Item2);
//8个元素
Tuple<int, long, float, double, short, byte, char, Tuple<int>> test3 =
    new Tuple<int, long, float, double, short, byte, char, Tuple<int>>(1,
        2, 3.0f, 4, 5, 6, 'h', new Tuple<int>(8));
Console.WriteLine(test3.Item1 + test3.Rest.Item1);
时间: 2024-10-05 05:11:46

C# 组元Tuple的相关文章

c#组元(Tuple)的使用

组元(Tuple)是C# 4.0引入的一个新特性,可以在.NET Framework 4.0或更高版本中使用.组元使用泛型来简化类的定义,多用于方法的返回值.在函数需要返回多个类型的时候,就不必使用out , ref等关键字了,直接定义一个Tuple类型,使用起来非常方便. 1 //1 member 2 Tuple<int> test = new Tuple<int>(1); 3 //2 member ( 1< n <8) 4 Tuple<int, int>

Numpy的那些事儿

2 NumPy-快速处理数据 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似.但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算. NumPy的诞生弥

【转】NumPy-快速处理数据

标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似.但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算. NumPy的诞生弥补了这些不足,NumPy提供了

NumPy-快速处理数据--ndarray对象--多维数组的存取、结构体数组存取、内存对齐、Numpy内存结构

本文摘自<用Python做科学计算>,版权归原作者所有. 上一篇讲到:NumPy-快速处理数据--ndarray对象--数组的创建和存取 接下来接着介绍多维数组的存取.结构体数组存取.内存对齐.Numpy内存结构 一.多维数组的存取 多维数组的存取和一维数组类似,因为多维数组有多个轴,因此它的下标需要用多个值来表示,NumPy采用组元(tuple)作为数组的下标.如二维数组需要(x, y)的元组标记一个数组元素:三维数组需要(x, y, z)的元组标记一个元素. 如下图所示,a为一个6x6的二

NumPy-快速处理数据

Numpy简介 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象.对于数值运算来说这种结构显然比较浪费内存和CPU计算时间. 此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似.但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算. NumPy的诞生弥补了这些不足,

c# 组元(Tuple)

组元是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本.组元使用泛型来简化一个类的定义. 先以下面的一段代码为例子: public class Point { public int X { get; set; } public int Y { get; set; } } //the user customer data type. Point p = new Point() { X = 10, Y = 20 }; //use the predefi

C# Tuple&lt;T1,T2....T&gt;元组的使用

1) 先说组元:一个数据结构,由通过逗号分割的,用于传递给一个程序或者操作系统的一系列值的组合. NET Framework 直接支持一至七元素的元组 Tuple<T1> Tuple<T1, T2> Tuple<T1, T2, T3> Tuple<T1, T2, T3, T4> Tuple<T1, T2, T3, T4, T5> Tuple<T1, T2, T3, T4, T5, T6> Tuple<T1, T2, T3, T4

Tuple

Tuple(组元)是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本. 在以前编程中,当需要返回多个值得方法中,常常需要将这些值放置到一个结构体或者对象中进行返回,当然也有以out/ref参数进行传递的.但是总的来说并不能真正的符合编程的需要.从而引入Tuple. Tuple的简单使用: private Tuple<bool, object, string> GetObject() { bool result=false; object obj=

Tuple方法

组元是C# 4.0引入的一个新特性,编写的时候需要基于.NET Framework 4.0或者更高版本.组元使用泛型来简化一个类的定义. public class Point { public int X { get; set; } public int Y { get; set; } } //the user customer data type. Point p = new Point() { X = 10, Y = 20 }; //use the predefine generic tup