【问题标题】:are there collection classes for .net which allow ref return values?.net 是否有允许 ref 返回值的集合类?
【发布时间】:2020-08-19 05:52:30
【问题描述】:
我想要一个较大值类型(例如向量或矩阵)的列表,并希望像这样访问它们by reference:
collection[index].X = newvalue;
或
ref Vector v = collection[index];
v.X = newvalue;
从 C# 7.0 开始允许使用此语法,但我不知道是否有任何集合类已经支持它。我知道香草数组允许引用访问,但我需要一个集合。
【问题讨论】:
标签:
.net
optimization
collections
pass-by-reference
c#-7.0
【解决方案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
}