.net - .net 有允许 ref 返回值的集合类吗?

标签 .net optimization collections pass-by-reference c#-7.0

我想要一个更大值类型的列表(例如向量或矩阵)并想要访问它们 by reference像这样:

collection[index].X = newvalue;

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

此语法从 C# 7.0 开始被允许,我不知道是否有任何集合类已经支持它。我知道普通数组允许引用访问,但我需要一个集合。

最佳答案

默认情况下,所有类类型都是 ref。这意味着如果您在任何地方修改类,它将在您访问它的任何地方反射(reflect)出来。

例如,

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

关于.net - .net 有允许 ref 返回值的集合类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61598420/

相关文章:

c# - NHibernate - 外连接,不懒惰,忽略未找到 - 如何在一条语句中构建对象?

c# - 即使文件位于 Bin 文件夹中,DLLImport 也不起作用

c# - 如何捕捉 C# .NET 窗体上的按键

ruby-on-rails - 如何 DRY 我在 5 个模型中编写的 has_attached_file

c# - 在代码中设置 Far Future Expires header - ASP.NET

java - 无法将 Map<String, List<String>> 转换为 Map<String, Iterable<String>>

.net - 通过组策略部署 VSTOR 4 框架 MSI

java - 为什么 HashMap.put() 中的键以奇怪的方式进行比较?

asp.net-mvc - backbone.js 从 asp.net mvc View 模型填充大型嵌套模型

java - 在 Java 中,哪种集合对于数据网络来说性能最高?