我有一个星期几的字符串。我用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