【问题标题】:Compare enum with a List<int>将枚举与 L​​ist<int> 进行比较
【发布时间】:2013-08-28 04:48:18
【问题描述】:

在我的数据库中,我正在保存数字。每个数字都被分配到一天。例如 1 等于星期一。

在我的 C# 代码中,我有一个像这样的枚举:

enum day { Sunday=0, Monday, Tuesday, Wednesday, Thursday, Friday,Saturday  };

我想从主机获取当前日期并将其与我的数据库进行比较,以检查用户访问。

将枚举值与通用 List&lt;int&gt; 进行比较的最佳方法是什么?

我看了一下这个话题How to compare enum and int values?,但它对我没有用。

更新:
我可以按天和时间在我的程序中进行用户访问。我节省了可以访问应用程序的日子。天数已保存为整数;所以当用户想登录时,我必须将整数与枚举进行比较。因为我一次从数据库中获取,所以我有 List&lt;int&gt; 天。 不知道有没有更好的办法?!

【问题讨论】:

  • 您能否包含更多代码和/或更好地描述您的问题?为什么枚举值会与通用列表相比较?
  • 另一个问题如何/为什么没有用?
  • 附带说明,.NET 已经有一个 DayOfWeek 枚举,如果您没有做任何其他额外的事情,您可以使用它。它也开始于Sunday = 0
  • 您是说您有一个用户可以访问的天数列表,并且您想查看其中包含主机提供的枚举吗?
  • Ye irani az jense 女孩 :-(

标签: c# list enums numbers compare


【解决方案1】:
List< int > allowedDays = new List<int> {0,1,4};

if (allowedDays.Contains((int)DateTime.Now.DayOfWeek))
                // do soemthing

或者类似的东西

马克

【讨论】:

  • 感谢您发现语法错误 - 希望将其更正为 List allowedDays = new List {0, 1, 4};只是觉得它看起来更好 - 不是我是一个代码势利小人或任何东西;)
  • @Iran_Girl 我的 cmets 中的 IndexOf 有什么问题(我现在删除了)
  • @mp3ferret 抱歉,但我认为最好改变,直到像我这样零级的人不会犯错。非常感谢您的有效回复:)
  • @I4V 对不起我的朋友!因为我在@mp3ferret 中找到了我的答案,所以我没有尝试IndexOf。为什么你删除你的帖子:-(它对我来说有有用的新代码:-(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多