gpt4 book ai didi

C# 指针引用

转载 作者:行者123 更新时间:2023-11-30 21:14:39 26 4
gpt4 key购买 nike

有没有办法在 C# 中创建 C++ 样式的指针?当我不知道它是哪个 int 时,我需要它在几个地方设置一个 int。
就像在 C++ 中一样,我会这样做:

int *i;
if(cond0) i = &someint;
if(cond1) i = &otherint;
if(cond2) i = &thirdint;

if(cond3) *i = someval;
if(cond4) *i = otherval;
if(cond5) *i = thirdval;

如果我以 C# 风格执行此操作,我将需要 9 个 ifs,而且我的程序有更多条件,因此它不可行。
我想创造某种值(value),例如:

int val;
if(cond3) val = someval;
if(cond4) val = otherval;
if(cond5) val = thirdval;

if(cond0) someint = val;
if(cond1) otherint = val;
if(cond2) thirdint = val;

但这不可能,因为 cond3、4 和 5 分散在程序中。

最佳答案

是的,但是您必须将执行此操作的任何代码包装在 unsafe block 中.

或者,如果这种情况发生在方法中,那么您可以使用 'ref' keyword通过引用传递参数。

这两个选项实际上都将解决方案限制在方法边界内。如果您要处理比这更分散的事情,在 C# 中,最好尝试找到重新组织代码的方法,以改为使用更少的全局状态。

关于C# 指针引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132177/

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