2011-04-11 3 views

답변

10

한 가지 방법 :

int myValue; 
string myString = "Hi"; 

if(!int.TryParse(myString, out myValue) 
{ 
    myValue = -1; 
} 

이 0 대신

+0

결과로 myValue가 -1로 끝나지 만 질문에 답하지 않습니다. 그들은 방법 자체를 변경하려고합니다. –

+8

@Ash 나는 그것이 잘못된 지침 일 뿐이라고 생각한다. 제정신 인 사람은 그런 식으로'TryParse'를 바꾸고 싶지 않습니다. 이미'TryParse'를 빌드하는 코드에 너무 많은 버그가있을 것입니다. – CodesInChaos

+3

@Ash Burlaczenko - IMO 이것은 그가 원하는 것을 얻기위한 가장 유리한 옵션입니다. 그는 방법 *을 바꾸어서 말했을지 모르지만, 나는 이것이 실제적으로 성취하려고 시도한 것이라고 확신 할 것입니다. downvote에 대한 Tnx. –

4

의, -1로 결국 myValue의 원인이됩니다 당신은 TryParse 필요하지 않습니다 반환합니다 -1. 구문 분석이 실패했는지 간단히 확인한 다음 정수 변수에 -1을 직접 할당 할 수 있습니다.

int myInt; 
if(!int.TryParse(s,out myInt)) 
    myInt=-1; 
3

프레임 워크 메소드의 코드를 변경할 수 없습니다. 래퍼 메서드 또는 확장 메서드를 대신 만들 수 있습니다.