博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 元组、匿名对象、ref&out
阅读量:6239 次
发布时间:2019-06-22

本文共 1604 字,大约阅读时间需要 5 分钟。

元组

private (int number,int newNumber) CaculateByTuple(int number){    return (number: number,        newNumber: number * number);}private List<(int number, int newNumber)> CaculateByTuple(List
numbers){ return numbers.AsEnumerable().Select( x => { return (number: x, newNumber: x * x); }) .ToList();}

匿名对象

private dynamic CaculateByDynamic(int number){    return new    {        number = number,        newNumber = number * number    };}

ref&out

ref
private int CaculateByRef(ref int number){    //对于ref    //在进入方法CaculateByRef之前,number必须赋值    //在方法CaculateByRef里面,number可以不进行修改    number = 2;    return number * number;}
out
private int CaculateByOut(out int number){    //对于ref    //在进入方法CaculateByOut之前,number不必赋值    //在方法CaculateByOut里面,number必须进行赋值    number = 3;    return number * number;}

ref&out的坏处在于:

查询number值的引用时,只能查询到ref&out这个方法名上面,对于IDE来说,方法修改了一个变量值,而不是修改了number
在开发过程中的查询检索会遇到困难,如下所示:

 
 

 

 
 

 

测试方法

public void Test(){    //ref    int number = 1;    int newNumber=CaculateByRef(ref number);    //out    newNumber = CaculateByOut(out number);    //元组    var returnValues = CaculateByTuple(number);    number = returnValues.number;    newNumber = returnValues.newNumber;    //匿名对象    var returnValues2 = CaculateByDynamic(number);    number = returnValues2.number;    newNumber = returnValues2.newNumber;    //元组2    List
numbers = new List
(); numbers.Add(1); numbers.Add(2); numbers.Add(3); var returnValues3 = CaculateByTuple(numbers);}

示例

转载于:https://www.cnblogs.com/Lulus/p/7872283.html

你可能感兴趣的文章
乘法逆元(转)
查看>>
android repo库的创建及代码管理
查看>>
tomcat 配置
查看>>
Cloudera Certified Associate Administrator案例之Configure篇
查看>>
QTP完全卸载
查看>>
【跨域】#001 JSONP原理解析【总结】
查看>>
Linux下mysql的安装和配置
查看>>
Scrum 项目 4.0-5.0-约教网站开发(一)
查看>>
CSS3变形transform 2D初级了解
查看>>
uva 11806 Cheerleaders (容斥)
查看>>
[HAOI2012]音量调节
查看>>
week07 codelab02 C72
查看>>
ubuntu系统备份与还原
查看>>
人无股权不富
查看>>
JavaScript屏蔽Backspace键
查看>>
dom4j的安装
查看>>
graphical Layout调大一点
查看>>
Python中使用lambda函数
查看>>
句柄类的应用中减少重复编译的方法
查看>>
dj cookie与session 2
查看>>