Bezpieczna konwersja z string do int

Bezpieczna konwersja z string do int
MajQel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 93
0

Jest jakas funkcja ktorą by zaminiała string na int i w wypadku gdy sie nie powiedzie zwracala jakas inna liczbe?
Probowalem juz rozne kombinacje z system.parse i convert.toint ale bez jakis wiekszych skutkow. wiem ze w c++ byla taka funkcja ale w c# nie potrafie nic takiego znaleŹĆ

adf88
  • Rejestracja: dni
  • Ostatnio: dni
2

TryParse (np. Int32.TryParse) lub przechwyć wyjątek (raczej to pierwsze).

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0
MajQel napisał(a):

w wypadku gdy sie nie powiedzie zwracala jakas inna liczbe?

Nie ma takiej, ale nic nie stoi na przeszkodzie, żebyś napisał sam taką

Dla ciekawostki można na przykład tak:

Kopiuj
    public class Test
    {

        public static void Main()
        {
            string s1 = "11";
            string s2 = "alamakota";

            Console.WriteLine(s1.ToInt32(1));
            Console.WriteLine(s2.ToInt32(2));
            Console.ReadKey();
        }
    }


    static class StringExt
    {
       
        public static int ToInt32(this string s, int defaultValue)
        {
            int parsedInt;
            if (Int32.TryParse(s, out parsedInt))
            {
                return parsedInt;
            }
            return defaultValue;
        }
    }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.