Int.TryParse
을 변환하여 실패한 구문 분석에서 0 대신 사용자 지정 숫자 (예 : -1)를 반환 할 수 있습니까? 그것은이처럼 할Int.TryParse를 변경하여 실패한 구문 분석에서 0 대신 -1을 반환 할 수 있습니까?
2
A
답변
10
한 가지 방법 :
int myValue;
string myString = "Hi";
if(!int.TryParse(myString, out myValue)
{
myValue = -1;
}
이 0 대신
4
의, -1로 결국 myValue
의 원인이됩니다 당신은 TryParse
필요하지 않습니다 반환합니다 -1. 구문 분석이 실패했는지 간단히 확인한 다음 정수 변수에 -1을 직접 할당 할 수 있습니다.
int myInt;
if(!int.TryParse(s,out myInt))
myInt=-1;
3
프레임 워크 메소드의 코드를 변경할 수 없습니다. 래퍼 메서드 또는 확장 메서드를 대신 만들 수 있습니다.
결과로 myValue가 -1로 끝나지 만 질문에 답하지 않습니다. 그들은 방법 자체를 변경하려고합니다. –
@Ash 나는 그것이 잘못된 지침 일 뿐이라고 생각한다. 제정신 인 사람은 그런 식으로'TryParse'를 바꾸고 싶지 않습니다. 이미'TryParse'를 빌드하는 코드에 너무 많은 버그가있을 것입니다. – CodesInChaos
@Ash Burlaczenko - IMO 이것은 그가 원하는 것을 얻기위한 가장 유리한 옵션입니다. 그는 방법 *을 바꾸어서 말했을지 모르지만, 나는 이것이 실제적으로 성취하려고 시도한 것이라고 확신 할 것입니다. downvote에 대한 Tnx. –