2016-02-03 30 views
0
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完成,但我没有看到它。

回答

2

如何突出每个项目分为新MySettings

var copy = SettingsConfig 
      .Select(x => new MySettings() 
         { 
          Setting = x.Setting 
         }).ToList(); 
+1

笑。它现在很明显,你写了它。哈哈。谢谢。 – CathalMF