的字符串dayCodes
(即"MWF"
或"MRFU"
),我需要拆分並創建一個字符串的集合,所以我可以有一週的字符串(即"Monday", "Wednesday", "Friday"
或"Monday", "Thursday", "Friday", "Sunday"
)的一天的列表。
// this causes a run-time exception because you can't cast Char to String
var daysArray = days.ToCharArray().Cast<string>().ToArray();
// for each dayCode, overwrite the code with the day string.
for (var i = 0; i < daysArray.Length; i++)
{
switch (daysArray[i])
{
case "M":
daysArray[i] = "Monday";
break;
case "T":
daysArray[i] = "Tuesday";
break;
case "W":
daysArray[i] = "Wednesday";
break;
case "R":
daysArray[i] = "Thursday";
break;
case "F":
daysArray[i] = "Friday";
break;
case "S":
daysArray[i] = "Saturday";
break;
case "U":
daysArray[i] = "Sunday";
break;
}
}
daysArray[daysArray.Length - 1] = "and " + daysArray[daysArray.Length - 1];
return string.Join(", ", daysArray);
問題:
的問題是,你不能施放Char
到String
我的猜測是有道理的,因爲一個不是從其他繼承。你仍然認爲編譯器會將Char
作爲一個字符長的String
。
有沒有快速的方法(如使用Cast<string>()
)來做到這一點,所以我不必從頭開始創建List<string>
?
這裏值得考慮使用System.DayOfWeek枚舉代替魔術字符串。 – uglybugger
@uglybugger我同意,除了我所做的方法的重點是連接字符串,所以它只是更多的代碼(即必須調用'.ToString()'的一切。 – DJTripleThreat