C# 从对象分离列表
早上好 我注意到,当您将列表作为参数指定给对象,然后对其进行更改时,对象的参数也会更改其值 我想知道如何避免这种情况,以及如何在不影响我的对象的情况下删除我的列表 重建:C# 从对象分离列表,c#,C#,早上好 我注意到,当您将列表作为参数指定给对象,然后对其进行更改时,对象的参数也会更改其值 我想知道如何避免这种情况,以及如何在不影响我的对象的情况下删除我的列表 重建: List<string> images = new List<string> { "1", "2", "3" };
List<string> images = new List<string>
{
"1",
"2",
"3"
};
Message messageA = new Message(objet, rtfMessage, images, date_de_publication, texteEtat, couleurEtat);
// messageA.images = 1 , 2 , 3
images.Clear();
// messageA.images = new List<string>()
您可以创建列表的克隆并将其作为参数传递。比如说,
var clonedImage = images.Select(item => (string)item.Clone()).ToList();
现在您可以将克隆作为
Message messageA = new Message(objet, rtfMessage, clonedImage , date_de_publication, texteEtat, couleurEtat);
请喜欢下面的内容
new List<string>(images)
您必须为创建列表的副本,查看此线程您必须将该项添加到其他父项以防止其被删除。如果一个孩子链接到多个家长,则该孩子不会被删除。请检查我的答案谢谢您的回答,但不,我所说的不是答案,也没有优化,我正在寻找其他方法。
new List<string>(images)
List<string> images = new List<string>
{
"1",
"2",
"3"
};
Message messageA = new Message(objet, rtfMessage, new List<string>(images), date_de_publication, texteEtat, couleurEtat);
// messageA.images = 1 , 2 , 3
images.Clear();
// messageA.images = new List<string>()