我正在将一个Entry类型的对象从Entry列表中传递到一个帮助函数中,该函数接受对Entry对象的引用:
for(int i = 0; i < entries.Count; i ++)
{
Entry singleEntry = entries[i];
bool success = Helper(ref singleEntry);
}
在辅助函数中,创建了一个新的 Entry 对象,我希望 entries [i] 引用新对象而不是旧对象,但只有 singleEntry 实际上被更改。我尝试了以下操作:
for(int i = 0; i < entries.Count; i ++)
{
bool success = Helper(ref entries[i]);
}
但是我遇到了一个错误:"属性或索引器不能作为 out 或 ref 参数传递"。
最终,我通过添加以下这行代码来改变 entries[i] 的值:
for(int i = 0; i < entries.Count; i ++)
{
Entry singleEntry = entries[i];
bool success = Helper(ref singleEntry);
entries[i] = singleEntry;
}
在修改List中的引用时,是否有更优雅的解决方案?
Helper
??)时,你的代码正在做一些奇怪的事情,我更担心我的代码可读性/可维护性而不是它的优雅。 - Theodor Zoulias