是否有允许 ref 返回值的 .NET 集合类?

are there collection classes for .net which allow ref return values?

提问人:codymanix 提问时间:5/5/2020 最后编辑:codymanix 更新时间:5/21/2020 访问量:36

问:

我想要一个较大值类型(例如向量或矩阵)的列表,并希望通过引用访问它们,如下所示:

collection[index].X = newvalue;

ref Vector v = collection[index];
v.X = newvalue;

从 C# 7.0 开始允许使用这种语法,我不知道是否有任何集合类已经支持它。我知道香草数组允许 ref-access,但我需要一个集合。

.NET 优化 集合 按引用传递 C#-7.0

评论


答:

-1赞 Vetrivel mp 5/21/2020 #1

默认情况下,所有类类型都是 ref。这意味着,如果您在访问它的任何位置修改类,它将被引用。

例如

List<Test1> col=new List<Test1>(); // add list of objects
foreach(var testobj in col)
{
testobj.anyproperty= updatevalue; // this will update in collection also
}

评论

0赞 codymanix 5/22/2020
问题是关于值类型(如结构体)。