2014-05-01 5 views
3

이 목록의 모음을 대문자로 변환하려는 char 목록이 있습니다.모음의 모음을 대문자로 변환

내가하고있는 방식으로는 모음 만 반환하고 모든 자음은 제외합니다.

매우 기본적인 요소라는 것을 알고 있지만 어떻게 올바르게 처리 할 수 ​​있습니까?

List<char> lstVowels = new List<char>() {'a', 'e', 'i', 'o', 'u' }; 

lstChar = lstChar.Where(p=>lstVowels.Contains(p)).Select(t => char.ToUpper(t)).ToList(); 
//lstChar contains a set of consonants and vowels 

답변

6

문자가 lstVowels에 있으면 대문자로 변환하십시오. 그렇지 않으면 그냥 그대로 두십시오. 코드에서

lstChar = 
    lstChar.Select(c => lstVowels.Contains(c) ? char.ToUpper(c) : c).ToList(); 

Where 절은 lstVowels에 존재하지 않는 모든 문자를 잃고 당신됩니다.

3

개인적으로 나는 경우 내로 원을 포함 할 것입니다 당신의 선택 대신

당신이 대신 그들을 변화 유지의 자음을 필터링 때문이다
lstChar.Select(c => lstVowels.Contains(c) ? char.ToUpper(c) : c).ToList(); 
+0

환호성, "제 3의"단어를 너무 많이 사용합니다. – Sayse

1

.

lstChar.Select(c => lstVowels.Contains(c) ? Char.ToUpper(c) : c) 
관련 문제