【问题标题】: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
    }
    

    【讨论】:

    • 问题是关于值类型(如结构)。
    猜你喜欢
    • 1970-01-01
    • 2020-04-11
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    相关资源
    最近更新 更多