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完成,但我没有看到它。
答案 0 :(得分:2)
如何将每个项目投放到新的MySettings
?
var copy = SettingsConfig
.Select(x => new MySettings()
{
Setting = x.Setting
}).ToList();