Могу ли я изменить Int.TryParse, чтобы он возвращал -1 вместо нуля при неудачном разборе? - PullRequest
2 голосов
/ 11 апреля 2011

Можно ли на шаге Int.TryParse вернуть пользовательский номер (например, -1) вместо нуля при неудачном разборе?

Ответы [ 3 ]

10 голосов
/ 11 апреля 2011

Один из способов сделать это выглядит так:

int myValue;
string myString = "Hi";

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

Это приведет к тому, что myValue закончится как -1, а не 0.

4 голосов
/ 11 апреля 2011

Вам не нужно TryParse, чтобы вернуть -1. Вы можете просто проверить, был ли синтаксический анализ неудачным, а затем присвоить -1 своей целочисленной переменной самостоятельно.

int myInt;
if(!int.TryParse(s,out myInt))
  myInt=-1;
3 голосов
/ 11 апреля 2011

Вы не можете изменить код метода фреймворка. Вместо этого вы можете создать метод-оболочку или метод расширения.

...