Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更新通过引用传递给方法的泛型列表?_C#_Generics - Fatal编程技术网

C# 如何更新通过引用传递给方法的泛型列表?

C# 如何更新通过引用传递给方法的泛型列表?,c#,generics,C#,Generics,我有一个消息的通用列表,通过引用将其传递给一个方法。 该方法使用列表中的一条消息并更新该消息 通过引用传递整个列表时,如何使用新文本更新此消息 e、 g private int RetrieveAndProcessQueueEntityRows( 字符串前导码, 字符串sMessageFIDs, int iNumberToFetch, 参考列表(信息传道者){ ////...... 消息currMessage=null; foreach(oMessageList中的消息oMessage){ if

我有一个消息的通用列表,通过引用将其传递给一个方法。 该方法使用列表中的一条消息并更新该消息

通过引用传递整个列表时,如何使用新文本更新此消息

e、 g

private int RetrieveAndProcessQueueEntityRows(
字符串前导码,
字符串sMessageFIDs,
int iNumberToFetch,
参考列表(信息传道者){
////......
消息currMessage=null;
foreach(oMessageList中的消息oMessage){
if(oMessage.Message\u UID==opatientInfentityCurrent.MessageFID){
currMessage=oMessage;
打破
}
}
现在我可以使用currMessage对象进行所需的更新。但是如何使用
currMessage
更新
列表oMessageList

谢谢你的帮助!
-Lakus

如果消息是一个类,则不需要通过引用传递任何消息;只需更新现有消息对象,或创建一个新消息对象并在列表中交换它(通过索引器,或使用删除/添加)

如果要创建新列表,只需
ref

因此,如果
Message
是一个可变类,只需:

currMessage.SomeProperty = "some value"; // done
如果没有,请使用
oMessageList
的索引器(或者,如
所述,添加
/
删除
)-即


请注意,如果您在
foreach
期间确实更改了列表内容,那么
foreach
迭代器几乎肯定会崩溃;有一些方法可以处理这个问题,但如果可以的话:只需更新消息本身的属性。

这应该是一个列表吗?或者这是一个基类……哦,从风格上讲——除非您的团队理想线需要它,你可能想摆脱匈牙利符号。
currMessage.SomeProperty = "some value"; // done
oMessageList[index] = replacementMessage;