을 감안할 때 :문자 배열을 문자열 배열로 변환하는 방법은 무엇입니까?
나는 내가 주 문자열 (즉 "Monday", "Wednesday", "Friday"
또는 "Monday", "Thursday", "Friday", "Sunday"
)의 일의 목록을 가질 수 분할 및 문자열의 컬렉션을 만들 필요가 문자열 dayCodes
(즉 "MWF"
또는 "MRFU"
).
// 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
에 캐스팅 할 수 없다는 것입니다. 컴파일러는 을 1 문자 길이로 변환한다고 생각할 것입니다. String
.
처음부터 List<string>
을 만들 필요가 없도록 빠른 방법 (Cast<string>()
사용)이 있습니까?
여기에 매직 문자열 대신 System.DayOfWeek 열거 형을 사용하는 것도 고려해 볼 가치가 있습니다. – uglybugger
@uglybugger 나는 모든 메소드에'.ToString()'을 호출 할 필요가 없도록 문자열을 연결하는 것을 제외하고는 동의한다. – DJTripleThreat