C# 避免通过引用调用
我有一些对象的搜索结果列表:C# 避免通过引用调用,c#,linq,linq-to-objects,C#,Linq,Linq To Objects,我有一些对象的搜索结果列表: SearchResults = new ObservableCollection<ViewModel<Consignor>>(); 据我所知,这是一个参考电话。通过更改对象“FoundCommissor”,我列表中的第一个对象也会更改。我怎样才能避免这种行为?我可以调用委托人的构造函数并将对象或值传递给它,但我也希望避免这种情况,以保持较低的复杂性。在委托人类上实现,然后您可以轻松地执行类似委托人。First().Clone()的操作 如果
SearchResults = new ObservableCollection<ViewModel<Consignor>>();
据我所知,这是一个参考电话。通过更改对象“FoundCommissor”,我列表中的第一个对象也会更改。我怎样才能避免这种行为?我可以调用委托人的构造函数并将对象或值传递给它,但我也希望避免这种情况,以保持较低的复杂性。在委托人
类上实现,然后您可以轻松地执行类似委托人。First().Clone()
的操作
如果您的类(委托人
)只包含内部类型(int
、char
、string
等),可能就足够了。但是,如果它包含非内在类型或引用类型,并且您希望执行成员的深度复制,则需要在委托人
类上实现IClonable实现,然后您可以轻松地执行类似于委托人.First().Clone()
的操作
如果您的类(委托人
)只包含内部类型(int
、char
、string
等),可能就足够了。但是,如果它包含非内在类型或引用类型,并且您希望执行成员的深度复制,则需要在委托人
类上实现IClonable实现,然后您可以轻松地执行类似于委托人.First().Clone()
的操作
如果您的类(委托人
)只包含内部类型(int
、char
、string
等),可能就足够了。但是,如果它包含非内在类型或引用类型,并且您希望执行成员的深度复制,则需要在委托人
类上实现IClonable实现,然后您可以轻松地执行类似于委托人.First().Clone()
的操作
如果您的类(委托人
)只包含内部类型(int
、char
、string
等),可能就足够了。但如果它包含非内在类型或引用类型,并且您希望执行成员的深度复制,您需要实现IClonable
搜索对象的深度副本
,例如通过序列化/反序列化循环。搜索对象的深度副本
,例如通过序列化/反序列化循环。搜索对象的深度副本
循环。搜索对象的深度复制
——例如,通过序列化/反序列化循环。
Consignor foundConsignor = consignors.First();