最近在翻 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 已经被放开,或许你已经不认识了所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)