我将一个Entry类型的对象从一个Entry列表传递给一个helper函数,该函数接受对Entry对象的引用:
for(int i = 0; i < entries.Count; i ++)
{
Entry singleEntry = entries[i];
bool success = Helper(ref singleEntry);
}
在helper函数中,创建了一个新的Entry对象,我希望entriesi引用新对象而不是旧对象,但实际上只更改了singleEntry。我试着做了以下事情:
for(int i = 0; i < entries.Count; i ++)
{
bool success = Helper(ref entries[i]);
}
但我得到了一个错误:“属性或索引器不能作为out或ref参数传递”。
我最终通过添加以下行更改了entriesi:
for(int i = 0; i < entries.Count; i ++)
{
Entry singleEntry = entries[i];
bool success = Helper(ref singleEntry);
entries[i] = singleEntry;
}
有没有更优雅的解决方案来改变列表中的引用?
https://stackoverflow.com/questions/56799597
复制相似问题