gpt4 book ai didi

没有不安全的 C# 引用数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:28:47 25 4
gpt4 key购买 nike

我找到了类似的主题,但我无法解决阅读它们的问题。

我想在 C# 中做与在 C 中相同的事情是指针数组,但我不想在 C# 中使用指针,因为它需要使用“不安全”。

如何构建一个“ref to int”数组,当我更改该数组的任何元素时,我也会同时更改它引用的内容和它指向的变量(就像在 C 中一样 - 数组指针)。

最好的问候,克里斯

最佳答案

如果性能不是问题,那么一种常见的解决方法是使用 lambda 来捕获对值类型变量的访问:

示例:

class GetSetPair<T> 
{
public Func<T> Get {get;set;}
public Action<T> Set {get;set;}
}


var referencesToInt = new List<GetSetPair<int>>();

int value = 42;
referencesToInt.Add(new GetSetPair<int>{Get=()=>value, Set = v => value = v});
referencesToInt[0].Set(33);
Console.WriteLine(value); // 33
value = 22;
Console.WriteLine(referencesToInt[0].Get()); //22

关于没有不安全的 C# 引用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32995919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com