你的位置:首页 > 软件开发 > ASP.net > C# 7.0 新特性4: 返回引用

C# 7.0 新特性4: 返回引用

发布时间:2016-07-01 17:00:14
本文参考Roslyn项目中的Issue:#118。  1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法  2. C# 7.0 新特性2: 本地方法  3. C# 7.0 新特性3: 模式匹配  4. C# 7 ...

C# 7.0 新特性4: 返回引用

本文参考Roslyn项目中的Issue:#118。

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

  2. C# 7.0 新特性2: 本地方法

  3. C# 7.0 新特性3: 模式匹配

  4. C# 7.0 新特性4: 返回引用

 

C#早在最初的发行版C# 1.0中(2002年1月),就借鉴并延续了C/C++中指针参数,原生允许将值类型数据的引用(指针)通过标记ref参数的形式,传递到方法体中。

但对于方法内的值类型引用,该如何引用的方式返回,却一直以来没有一个非常完美的解决方案,尽管这种用例非常少见。

 

提一个简单的问题,我们需要获取三个int中的最大值的引用

我们照惯例,回顾下C#7.0之前的做法:

C/C++指针

我们回归到C/C++中,这个问题没有什么好争议的,实现起来会很理所应当的是这样的:

1 int* Max(int* first, int* second, int* third) {2  int* max = *first > *second ? first : second;3  return *max > *third ? max : third;4 }5 ....6 int a = 1, b = 2, c = 3;7 int* max = Max(&a, &b, &c);8 *max = 4; // c == 4;

原标题:C# 7.0 新特性4: 返回引用

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录