浅复制包含枚举的对象列表的最佳方法
Best way to shallow copy a list of objects containing an enum
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 });
好的,假设我有上述设置。
我想创建 SettingsConfig 的副本。由于枚举是一个值类型,我不需要处理它的引用,而只需要处理 MySettings 的引用。
为了争论,我无法访问在 MySettings 上实现 MemberwiseClone 的代码。
我认为这可以用 linq 来完成,但我没有看到。
如何将每个项目投影到新的 MySettings
?
var copy = SettingsConfig
.Select(x => new MySettings()
{
Setting = x.Setting
}).ToList();
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 });
好的,假设我有上述设置。 我想创建 SettingsConfig 的副本。由于枚举是一个值类型,我不需要处理它的引用,而只需要处理 MySettings 的引用。
为了争论,我无法访问在 MySettings 上实现 MemberwiseClone 的代码。
我认为这可以用 linq 来完成,但我没有看到。
如何将每个项目投影到新的 MySettings
?
var copy = SettingsConfig
.Select(x => new MySettings()
{
Setting = x.Setting
}).ToList();