.net Tuple特性

.net 4.0 引入了 Tuple特性:

在C# 4.0之前我们函数有多个返回值,通常是使用ref,out 。到了c# 4.0 应当使用元组Tuple而不是使用输出参数,在任何时候都应避免使用ref/out传递参数,尤其对引用类型(禁止引用的引用,尝试改进你的设计。

数组合并了相同类型的对象,而元组合并了不同类型的对象。元组起源于函数编程语言(如F#) ,在这些语言中频繁使用元组。.NET 4定义了8个泛型Tuple类和一个静态Tuple类,它们用作元组的工厂。这里的不同泛型Tuple类支持不同数量的元素。例如,Tuple<T1>包含-个元素,Tuple<T1,T2>包含两个元素,以此类推

 public static Tuple<string, string> TupleTest(string a, string b)
        {
            return new Tuple<string, string>(a + "aaaa", b + "bbbb");
        } 
    static void Main(string[] args)
        {
            var tempte = TupleTempte.TupleTest("C#", "C#");
            Console.WriteLine("a:{0},b{1}", tempte.Item1, tempte.Item2);
     }

控制台输出  a:C#aaa,b:C#bbb

时间: 2024-10-26 17:24:59

.net Tuple特性的相关文章

Python顺序集合之 tuple

本文内容摘录自慕课网<Python入门> 1.tuple特性 tuple是另一种有序的列表,中文翻译为“ 元组 ”.tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了. >>> t = ('Adam', 'Lisa', 'Bart') 创建tuple和创建list唯一不同之处是用( )替代了[ ]. 现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法.所以,新元素没法直接往 tuple 中添加

[python]python之tuple元组

tuple特性 python的tuple与列表类似,不同之处在于tuple的元素不能修改. tuple使用小括号,列表使用方括号. tuple创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tuple与字符串类似,下标索引从0开始,可以进行截取.组合. tuple中只包含一个元素的时候,也需要在元素后面添加符号,否则()会被作为运算符处理: tuple可以进行tuple之间的+连接: tuple中的一级元素不可以修改但是可以修改二级的: tuple中的元素是不允许删除的,但是可以使用d

tuple,list,dict,set用法

python基础 复杂数据类型(数据结构) tuple:元组,使用小括号表示,包含若干个数据元素,可以为空,数据元素的类型可以为任意类型,它是不可变对象(创建后不可改变,不能增删改除) list:列表,使用中括号表示,包含若干个数据元素,可以为空,数据元素的类型可以为任意类型,它是可变对象,查询和插入效率很低,并且列表越长,查询和插入速度越慢,消耗内存空间小 dict:字典,使用花括号表示,包含若干个键值对(Key-Value Pair,也称为-值对)数据,Key不能重复并且必须为不可变对象,具

python自学笔记(四)python基本数据类型之元组、集合、字典

一.元组tuple 特性 1.有序集合 2.通过偏移来取数据 3.不可变对象,不能在原地修改内存,没有排序.修改等操作 元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法,确保不会改变我们的数据从而导致程序问题. 二.集合:集合是没有顺序的概念,所以不能用切片和索引操作 1.创建集合:可变的set().不可变的frozenset() 2.添加操作 add(随机插入) update(拆分插入) 3.删除 remove 4.成员关系 in.not in 5.交集(&).并集(|).差集(

python3之元组

   python3之元组 tuple 特性: a. 元组是另一种有序的列表 b. list非常相似,但是tuple一旦创建,就不能修改 1.语法和list 类似,可以根据索引取值 In [86]: t = ('wd','pc','lp','woniu') In [87]: t1 = tuple('abc') In [88]: t Out[88]: ('wd', 'pc', 'lp', 'woniu') In [89]: t1 Out[89]: ('a', 'b', 'c') In [90]: 

Cython的用法以及填坑姿势

因为项目需要,需要优化已有的Python代码.目前Python代码的执行过程是将Python代码转变成一行行指令,然后解释器解释指令的执行,调用到C代码层.如果去掉指令解释这个阶段,直接进入C代码层,效率就比较高了.如果用之前所述的使用Python C API将Python代码改造为C代码并作为Python的内建模块,工作量极其大,也不能保证其正确性,所以这种方法不太现实.而Cython库正好符合这种场景需求,将已有的Python代码转化为C语言的代码,并作为Python的built-in模块扩

Python基础语法&mdash;字符串&amp;语句&amp;集合

Python字符串 Python中不支持char单字符类型,单字符在Python中也是一个字符串 Python字符串更新 更新Python字符串方法 1234 var1 = 'Hello World!'print "Updated String :- ", var1[:6] + 'Python' 实际执行效果为 Updated String :- Hello Python Python转义字符 Python字符串运算符 Python字符串格式化 Python三引号(triple quo

C++11 新特性之 tuple

我们在C++中都用过pair.pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同.pair可以使用make_pair构造 pair<int, string> p = make_pair(1, "a1"); 如果传入的参数为多个,那么就需要嵌套pair,如下代码 #include <iostream> #include <map> using namespace std; int main() { //<int, string,

C# 7.0 新特性1: 基于Tuple的“多”返回值方法

本文基于Roslyn项目中的Issue:#347 展开讨论. 回顾 首先,提出一个问题,C#中,如何使一个方法可返回"多个"返回值? 我们先来回顾一下C#6.0 及更早版本的做法. 在C#中,通常我们有以下4种方式使一个方法返回多条数据. 使用 KeyValue 组合 1 static void Main(string[] args) 2 { 3 int int1 = 15; 4 int int2 = 25; 5 var result = Add_Multiply(int1, int2