我希望将一周(周一,周二......)的天数转换为一周中的天数(星期一= 1,星期二= 2,...)
答案 0 :(得分:1)
您可以使用Enum.Parse
和DayOfWeek
枚举将具有星期几的字符串解析为整数值(它本身只是一个包装整数的标签)对应于一周中适当的一天。如果你真的需要一个特定的整数而不是枚举,你可以将该枚举强制转换为int
以获得其基础值。
答案 1 :(得分:1)
您可以创建包含所有可能日期的enum
,然后使用Enum.Parse
并将其投放到int
。虽然这有点像重锤。"您的另一个选择是使用switch
或一系列if
语句来确定数字。
答案 2 :(得分:1)
如果您只想在数周内使用
进行数周的简单操作int numberDate = (int)DateTime.Now.DayOfWeek;
将为您提供当天的号码
string stringDay = DateTime.Now.DayOfWeek.ToString();
将为您提供一周的字符串名称。
答案 3 :(得分:1)
你提到使用"数组方法"。也许你的意思是在一个不变的预定义数组/集合中查找索引。
public static int ConvertDayOfWeek(string day) {
List<string> days = new List<string>{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
return days.IndexOf(day);
}
答案 4 :(得分:1)
另一个想法:
如果你想要一个将字符串映射到int的结构,你可以像这样使用Dictionary<string,int>
:
Dictionary<string, int> days = new Dictionary<string, int>();
days.Add("Monday",1);
days.Add("Tuesday",2);
//...
var number = days["Monday"]; //Result: 1