0

是否可以在类初始化时将整数作为引用传递并确保引用安全?

class Foo {
    private int _refVal;
    public Foo(ref int val) {
        _refval = val; // saves the value, not the reference
    }
}

我可以使用指针,但是我需要一个不安全的上下文。

4

3 回答 3

3

这是不可能的。

相反,您可以使用具有可写属性的类,如下所示:

class Reference<T> {
    public T Value { get; set; }
    public Reference(T value) { Value = value; }
}
于 2010-07-05T17:46:41.757 回答
3

出于兴趣,你为什么需要这样做?一个等于 5 的整数等于另一个等于 5 的整数:如果您想在它们之间进行一些区分,则不应使用整数值类型 - 您需要一个类。

这不是您问题的直接答案,但正如他们所说,改进算法比实施或改进有缺陷的算法更好;也许如果你能给我们更多的背景信息,我们可以帮助你解决更普遍的问题/任务?

希望有帮助!

于 2010-07-05T17:53:25.190 回答
1

我猜想把它包装在一个自定义类中。

于 2010-07-05T17:47:39.507 回答