如何将特定字符串转换为特定的int

时间:2015-04-03 16:24:55

标签: c# arrays

我希望将一周(周一,周二......)的天数转换为一周中的天数(星期一= 1,星期二= 2,...)

5 个答案:

答案 0 :(得分:1)

您可以使用Enum.ParseDayOfWeek枚举将具有星期几的字符串解析为整数值(它本身只是一个包装整数的标签)对应于一周中适当的一天。如果你真的需要一个特定的整数而不是枚举,你可以将该枚举强制转换为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