Jaki jest najlepszy sposób na zrobienie odpowiednika int.TryParse (który znajduje się w .net 2.0 i później) przy użyciu .net 1.1.Jaka jest najlepsza alternatywa dla int.TryParse dla .net 1.1
7
A
Odpowiedz
11
Oczywiście
class Int32Util
{
public static bool TryParse(string value, out int result)
{
result = 0;
try
{
result = Int32.Parse(value);
return true;
}
catch(FormatException)
{
return false;
}
catch(OverflowException)
{
return false;
}
}
}
2
try
{
var i = int.Parse(value);
}
catch(FormatException ex)
{
Console.WriteLine("Invalid format.");
}
+1
Czy nie rzuca wyjątek/obsługa stworzenia sprawiedliwego trochę głową chociaż? –
1
Koistya prawie miał. Brak polecenia var w .NET 1.1.
Jeśli mogę być tak śmiały:
try
{
int i = int.Parse(value);
}
catch(FormatException ex)
{
Console.WriteLine("Invalid format.");
}
1
Jest tryparse dla podwójnie, więc jeśli używasz, że należy wybrać opcję „NumberStyles.Integer” i sprawdzić, czy powstały podwójne jest w granicach Int32, możesz określić, czy ciąg znaków jest liczbą całkowitą bez rzucania wyjątku.
nadzieję, że to pomaga, Jamie
private bool TryIntParse(string txt)
{
try
{
double dblOut = 0;
if (double.TryParse(txt, System.Globalization.NumberStyles.Integer
, System.Globalization.CultureInfo.CurrentCulture, out dblOut))
{
// determined its an int, now check if its within the Int32 max min
return dblOut > Int32.MinValue && dblOut < Int32.MaxValue;
}
else
{
return false;
}
}
catch(Exception ex)
{
throw ex;
}
}
Może chcieć "zwrócić True" gdzieś w tym? – Pondidum
@Pondidum: Dobre połączenie! Dzięki. –