2015-04-03 44 views
-2

我想將一週(週一,週二...)中的天數名稱轉換爲一週中的天數(星期一= 1,星期二= 2,...) )如何將特定字符串轉換爲特定的int

+2

谷歌搜索「C#轉換字符串到dayofweek「發現這[相關問題](http://stackoverflow.com/questions/13713366/c-datetime-dayofweek-to-string-comparison)。 – ryanyuyu 2015-04-03 16:28:54

+0

我想用數組方法來代替「if」方法。 – 2015-04-03 16:31:16

回答

1

你提到使用「數組方法」。也許你的意思是在一個常量預定義的數組/集合中查找索引。

public static int ConvertDayOfWeek(string day) { 
    List<string> days = new List<string>{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; 
    return days.IndexOf(day); 
} 
1

您可以使用Enum.Parse以及DayOfWeek枚舉將一個星期幾的字符串解析爲一個整數值(它本身就是一個包裝整數的標籤),它對應於一週中適當的一天。如果你確實需要一個整數,而不是一個枚舉,你可以將該枚舉強制轉換爲int以獲得其基礎值。

1

您可以創建一個包含所有可能日期的enum,然後使用Enum.Parse並將其轉換爲int。雖然這有點「重錘」。您的其他選項是使用switch或一系列if語句來確定編號。

1

如果你只是想幾個星期的天使用

int numberDate = (int)DateTime.Now.DayOfWeek; 

在C#中的簡單,這將給你的那一天

string stringDay = DateTime.Now.DayOfWeek.ToString(); 

,這將給你一週的字符串名稱數量。

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 
相關問題