2016-02-03 63 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