C# 中的 ref 已经被放开,或许你已经不认识了

C# 中的 ref 已经被放开,或许你已经不认识了,第1张

概述一:背景 1. 讲故事 最近在翻 netcore 源码看,发现框架中有不少的代码都被 ref 给修饰了,我去,这还是我认识的 ref 吗?就拿 Span 来说,代码如下: public readonl 一:背景1. 讲故事

最近在翻 netcore 源码看,发现框架中有不少的代码都被 ref 给修饰了,我去,这还是我认识的 ref 吗?就拿 Span 来说,代码如下:

    public Readonly ref struct Span<T>    {        public ref T GetPinnableReference()        {            ref T result = ref Unsafe.AsRef<T>(null);            if (_length != 0)            {                result = ref _pointer.Value;            }            return ref result;        }        public ref T this[int index]        {            get            {                return ref Unsafe.Add(ref _pointer.Value,index);            }        }                 }

是不是到处都有 ref,在 struct 上有,在 local variable 也有,在 方法签名处 也有,在 方法调用处 也有,在 属性 上也有, 在 return处 也有,简直是应有尽有,太 总结

以上是内存溢出为你收集整理的 C# 中的 ref 已经被放开,或许你已经不认识了全部内容,希望文章能够帮你解决 C# 中的 ref 已经被放开,或许你已经不认识了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1213791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存