我有一個星期幾的字符串。我用C#解析它,並將每一天存儲在一個單獨的變量中。例如:空位分割字符串問題
string weekdayName = "Mon,Tue,Wed,Thu,Fri,Sat,Sun";
而且我用他們 '' 作爲分隔符分割:
var weekDayName = weekDay.Split(',');
var firstDay = weekDayName[0];
var secondDay = weekDayName[1];
var thirdDay = weekDayName[2];
var fourthDay = weekDayName[3];
var fifthDay = weekDayName[4];
var sixDay = weekDayName[5];
var seventhDay = weekDayName[6];
一切正常。但是,該字符串會動態更改。用戶分配星期幾。例如,字符串weekDayName只能包含「Mon,Tue」。但我遇到的問題是,如果不是所有的位置都包含價值,它將會失敗。
索引超出了數組的範圍。
我曾嘗試:
if (weekDayName[5].Length >0)
{
var sixDay = weekDayName[5];
}
但它仍然失敗......
如何檢查,抓住現有數據的價值,如果一些位置只是我失蹤別理他們?
我想要實現的是:
DateTime currentDay = new DateTime();
currentDay = DateTime.Now;
if (currentDay.ToString("ddd") == firstDay || currentDay.ToString("ddd") == seconday)
{
// I will check the currentDay against every day of the week
//do something
}
這個檢查if(weekDayName [5] .Length> 0)'應該是if(weekDayName.Length> 0)'。目前您正在嘗試檢查字符串的長度,而不是數組的長度。但是,必須有更好的方式來處理這個問題,爲什麼不使用[DayOfWeek](http://msdn.microsoft.com/zh-cn/library/system。dayofweek(v = vs.110).aspx)enum – Habib
我很好奇你爲什麼要在DateTime爲你提供這些數據時解析出這些數據:) – Codeman
Pheonixblade9,我實際上是從註冊表中獲取該字符串。 – smr5