给定:
一个字符串 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>
了?
.ToString()
方法)。 - aarona