gpt4 book ai didi

.net - 框架中是否有通用的交换方法?

转载 作者:行者123 更新时间:2023-12-03 22:29:28 24 4
gpt4 key购买 nike

框架中的任何地方都存在这样的方法吗?

public static void Swap<T>(ref T left, ref T right) {
T temp;
temp = left;
left = right;
right = temp;
}

如果没有,有什么理由吗?

最佳答案

Interlocked.Exchange .这是在线程安全的原子调用中完成的。

评论后编辑:

只是为了说明使用 Interlocked.Exchange 是如何工作的,您可以这样做:

left = Interlocked.Exchange(ref right, left);

这将等效于(实际上)执行以下操作:
Swap(ref left, ref right);

但是,Interlocked.Exchange 将其作为原子操作执行,因此它是线程安全的。

关于.net - 框架中是否有通用的交换方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922505/

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