【发布时间】:2013-12-06 23:38:45
【问题描述】:
我有三个名为dynamicTextEnumsInDatabase、dynamicTextEnumsAll 和dynamicTextEnumsAvaiable 的列表。
我正在尝试根据可以在我的DynamicTextEnum 类中使用的所有可能的枚举将项目添加到dynamicTextEnumsAll 列表中。我可以添加所有这些,但是数字不匹配。例如在课堂上,EnumMembers 从 1 开始,而列表从 0 开始。
在我的DynamicTextEnum 班级中,我有以下成员:
[EnumMember]
Agreement = 1,
[EnumMember]
Warning = 2,
[EnumMember]
Reminder = 3
但是在dynamicTextEnumsAll 列表中,它们显示为:
Agreement = 0, Warning = 1, Reminder = 2
在下面的代码中,我可以在添加它们时为它们分配值。我已经尝试过使用 counter int 并以这种方式分配它们:
dynamicTextEnumsAll.Add(item[counter]);
代码
List<DynamicTextEnum> dynamicTextEnumsInDatabase = new List<DynamicTextEnum>();
List<DynamicTextEnum> dynamicTextEnumsAll = new List<DynamicTextEnum>();
foreach (DynamicTextEnum item in Enum.GetValues(typeof(DynamicTextEnum)))
{
dynamicTextEnumsAll.Add(item);
}
using (var proxy = new Proxy<IDynamicText>())
{
dynamicTextEnumsInDatabase = proxy.Channel.DynamicTextGetActiveEnums(Helper.GetCallingUser());
}
List<DynamicTextEnum> dynamicTextEnumsAvaiable = dynamicTextEnumsAll.Except(dynamicTextEnumsInDatabase).ToList();
if (dynamicTextEnumsAvaiable.Count == 0)
{
TempData["Error"] = "To update a message or warning please select it from the grid below.";
return RedirectToAction("Index");
}
谢谢! :)
【问题讨论】:
标签: c#