이 함수는 ProperCase라는 문자열을 사용하고 각 단어의 첫 문자를 대문자로 변환합니다. 따라서 ProperCase ("존 스미스")는 "존 스미스"를 반환합니다. 여기에 코드입니다 :문자열을 적절한 경우에 넣기 위해 LINQ와 lambdas를 사용하십시오.
public string ProperCase(string input)
{
var retVal = string.Empty;
var words = input.Split(' ');
foreach (var word in words)
{
if (word.Length == 1)
{
retVal += word.ToUpper();
}
else if (word.Length > 1)
{
retVal += word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower();
}
retVal += ' ';
}
if (retVal.Length > 0)
{
retVal = retVal.Substring(0, retVal.Length - 1);
}
return retVal;
}
이 코드는 완벽하게 workds,하지만 난 LINQ 및 람다 더 우아하게 그것을 할 수 있습니다 확신 해요. 어떻게 좀 보여 주실 수 있습니까?
감사 것이 완벽했다! 나는 람다에 ToLower를 추가했다 : word => textInfo.ToTitleCase (word.ToLower()) –
Linq를 사용하는 데 불필요하다. textInfo.ToTitleCase (입력)는 단어 수에 관계없이 동일한 작업을 수행합니다. – SergioL