返回多个类型的对象,Tuple

一个方法 通常只有一个 返回对象,有时候 我们遇到 要放回两个不同类型的值的时候, 这个时候可以使用Tuple. 对象。

Tupele 只支持 .net framework 4.0 以上版本。

来!先看看下面这个方法。

这个方法很简单,意图就是返回两个参数。这个是我们经常遇见的一个情况,为了返回两个或者多个参数而使用多个out..显然使用起来挺麻烦的

也有的人会这样写, 

对于以上两种情况 ,我们可以用Tuple 对代码进行优化

Thanks

Jack

时间: 2024-10-08 20:22:47

返回多个类型的对象,Tuple的相关文章

使用泛型实现返回不同类型的对象

本次功能的实现场景:读取Yaml配置文件,然后将其中的信息转换成指定的对象. 在这里定义了一个Yaml的工具类,希望工具类的返回对象类型可以根据调用方法时传入的对象类型来定义. 通过泛型实现 工具类: public class YamlUtil { public <T> T readNodeFromYml(Class<T> type) throws YamlException, FileNotFoundException{ File dumpFile = new File(Syst

Python 类型和对象(转)

译文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 原文:http://www.cafepy.com/article/python_attributes_and_methods/ 解释新式的Python对象(new-style): <type 'type'> and <type 'object'>是什么东西 用户定义的类及实例是如何相互关联的,和内置类型有啥关系how user defined classes and in

[python]类型与对象

1. 术语 程序中所存储的所有数据都是对象.每个对象都有一个身份.一个类型和一个值.对象的身份可以看作是指向它在内存中所处位置的指针,变量名就是引用这个具体位置的名称.对象的类型也称作类别,用于描述对象的内部表示及它支持的方法与操作.创建特定类型的对象时,有时也将该对象称为该类型的实例.实例被创建之后,它的身份和类型就不可改变.如果对象的值是可以修改的,称为可变对象,反之称为不变对象.如果某个对象包含对其他对象的引用,则将其称为容器或集合.大多数对象拥有大量特有的数据属性和方法.属性就是与对象相

C#中的元组对象Tuple

原文:C#中的元组对象Tuple 一.什么是元组 元组就是一些对象的集合,在我们编程时,比如一个人的信息,我们常常创建一个Person类去描述一个人,传统的做法如下: public class Person{ public int ID{get;set;} public string Name{get;set;} } Person a=new Person(){ID=1001,Name='CodeL'}; Console.WriteLine(a.Name); 那么我们使用元组可以怎么做呢?如下所

Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

Overload是重载的意思,Override是覆盖的意思,也就是重写. 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现.子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常

类型,对象,堆栈和托管堆

C#的类型和对象在应用计算机内存时,大体用到两种内存,一个叫堆栈,另一个叫托管堆,下面我们用直角长方形来代表堆栈,用圆角长方形来代表托管堆. 首先讨论一下方法内部变量的存放. 先举个例子,有如下两个方法,Method_1和Add,分别如下: public void Method_1() { int value1=10; //1 int value2=20;    //2 int value3=Add(value,value); //3 } public int Add(int n1,int n2

jquery ajax和php实现返回值 json类型

js页面 $.ajax({ type: “POST”, dataType: ‘json’, url: “add_vote.php”, data: “touid=”+uid+”&tousername=”+username, success: function(msg){ //json解析方法一 var dataObj=eval("("+msg+")");//转换为json对象 alert(dataObj.goods_list);//输出root的子对象数量 /

Override和Overload区别,Overloaded的方法是否可以改变返回值的类型?

Overload是重载的意思, Override是覆盖的意思,也就是重写. 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同). 重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现. 子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子

.Net 类型、对象、线程栈、托管堆运行时的相互关系

JIT(just in time)编译器 接下来的会讲到方法的调用,这里先讲下JIT编译器.以CLR书中的代码为例(手打...).以Main方法为例: static void Main(){ Console.WriteLine("Hello"); Console.WriteLine("XiaoCong"); } 首先CLR会检测到Main方法中引用了一个Console类型,然后CLR会为其分配一个内部结构. 内部结构中每个方法都对应一个记录项,记录项中都容纳一个地址