浅拷贝包含枚举的对象列表的最佳方法
本文关键字:最佳 方法 列表 对象 枚举 浅拷贝 包含 | 更新日期: 2023-09-27 18:33:05
public enum Settings
{
MySettingOne,
MySettingTwo
}
public class MySettings
{
public Settings Setting { get; set; }
}
public List<MySettings> SettingsConfig = new List<MySettings>();
SettingsConfig.Add(new MySettings() { Setting = Settings.MySettingOne });
SettingsConfig.Add(new MySettings() { Setting = Settings.MySettingTwo });
好的,假设我有上述设置。我想创建一个设置配置的副本。由于枚举是一种值类型,因此我不需要处理此值类型的引用,而只需要处理MySettings的引用。
为了论证起见,我无法访问在MySettings上实现MemberwiseClone的代码。
我认为这可以用 linq 完成,但我没有看到它。
将每个项目投影到新MySettings
中怎么样?
var copy = SettingsConfig
.Select(x => new MySettings()
{
Setting = x.Setting
}).ToList();