问题标签 [convertall]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - Powershell - 如何使用 $List.convertAll() 或替代 C# 方法来克隆列表
假设我有一个列表:
所以我可以轻松地从集合中添加和删除用户。
我希望能够将此列表传递给执行某些操作但不修改原始列表的函数,并且它必须保持相同的通用列表类型。
convertAll()
似乎完全符合我的要求,而不必自己编写新列表的创建脚本foreach-object
,但我不明白如何利用重载定义(或完全理解它们的含义)。
C# 中有很多示例,但我无法找到一个在 PoSH 中演示它的示例。
示例场景:
假设 $DeletedUsers 包含 PSCustomObject 类型的用户对象列表。具有典型的“用户”属性,例如部门或就业状态。该列表应该能够传递给将更改用户属性状态的函数,然后可以将其添加到相同 Generic.List 类型的单独输出列表中。
当前示例函数的任何更改。
影响原始 $DeletedUsers,错误地将处理后的信息添加到应保持静态的列表中。
有其他方法可以防止这种情况影响脚本的最终目标,但问题是:
如何使用内置 C# 方法创建 System.Collections.Generic.List[System.object] 的真实、非引用克隆。
c# - 在更改列表之前使用 Linq ConvertAll 创建列表的备份
我正在做一个项目,我有一个包含嵌套列表的对象列表,我想在更新原始列表之前对其进行备份。
我很接近,但我无法找到正确的语法,所以我希望你能在这里帮助我。
这是原始类:
就在我更新 OriginalList 上的点之前,我想创建 OriginalList 的深层副本,以便我可以“撤消”更改。
目前我正在使用下面的代码:
尽管此代码创建了原始列表的深层副本,但它将列表 Points 中的所有点替换为 0(因为新的 double())
但是使用
给了我正确的分数,但是当原始列表更新时它们也会更新。
我想我必须做类似的事情
但我找不到正确的语法。
任何帮助表示赞赏。