如何获取原语数组的引用类型变量
本文关键字:数组 引用 类型变量 原语 何获取 获取 | 更新日期: 2023-09-27 18:11:26
所以我的问题可以用简单的代码来描述:
double[] doubles = new double[] { 0.01, 0.01, };
var w2 = doubles;
w2 = null;
//doubles still has values
我知道结构和类的区别:
如果将对象复制到新变量中:点p2 = p1;形式f2 = f1;P2作为一个结构体,成为p1的独立副本,具有自己单独的字段。但在f2的情况下,我们复制的只是一个引用,结果是f1和f2都指向同一个对象。
(来源:http://www.albahari.com/valuevsreftypes.aspx)
,但有没有任何方法获得引用类型,让我设置w2为null通过设置double =null不使用转换到List<double>
, unsafe{}
?
我假设你实际上并不意味着doubles
和w2
将在相同的范围内。我猜你正在传递doubles
到其他范围,你想传递引用而不是副本,这样你就可以从其他上下文中修改doubles
?
double[] doubles = new double[] { 1, 2, 3};
SomeMethod(ref doubles);
// This will return true
Console.WriteLine(doubles == null);
private static void SomeMethod(ref double[] w2)
{
w2 = null;
}
不完全确定你想要什么,但如果你想通过编程获得w2的类型,那么就这样做:
Type w2_type = w2.GetType();
您可以将w2_type添加到监视列表中,它的值应该为"{System. properties"。双[]}"