2014-12-22 6 views
-1

.NET SubString 함수를 사용하려고합니다. 나는 사용자 정의 함수에 값을 전달한 다음 if 문이 대문자로 표시되어야하는지 여부를 평가합니다. 그런 다음 첫 번째 문자를 대문자로 바꾸려면 다음을 사용합니다. 그러나 "Index는 배열의 범위 밖에 있습니다"라는 메시지가 나옵니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?SubString 함수의 문제

char.ToUpper(X[0]) + X.Substring(1) 
+6

당신은 당신의 문자열이 비어 있지 않은지 확인 있습니까? –

+0

@VsevolodGoloviznin 다른 중단 점을 설정하고 확인합니다. 이전에 보았을 때가 아니었지만 그 이후로 변경된 사항이 있습니다. – Blake

+0

@VsevolodGoloviznin 당신이 맞았 어, 내가 할 일이있어. 감사! – Blake

답변

1

이 isNullOrEmpty에 감싸 포함, 당신을 도울 수있다()

if(!string.IsNullOrEmpty(X)) 
{ 
    char.ToUpper(X[0]) + X.Substring(1) 
} 
1

이 그것을 가지고 같이 몇몇 검사는

public string FirstLetterToUpper(string str) 
{ 
    if (string.IsNullOrEmpty(str)) 
     return str; 

    return char.ToUpper(str[0]) + str.Substring(1); 
} 
+0

'Substring (1)'은 한 문자로 된 문자열에서 정상적으로 작동해야합니다. –

+0

인덱스가 범위를 벗어남은 문자열이 null이 아님을 의미합니다. – Steve

+0

@default locale thanks –