Дано:
Строка 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>
с нуля?