浅复制包含枚举的对象列表的最佳方法

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();