TryParse-style methods report success or failure without throwing.

TryParse `TryParse` returns a boolean and writes the parsed value through an out parameter.

TryParse

input
TryParseExample.cs
Replay: real traced execution (multi-file project)
using System;

class Program
{
    static void Main()
    {
        string input = "18";
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string input = "oops";
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string input = "5";
        bool parsed = int.TryParse(input, out int value);
        string status = parsed ? "ok" : "fallback";

        if (!parsed)
        {
            value = -1;
        }

        Console.WriteLine($"input={input}");
        Console.WriteLine($"status={status}");
        Console.WriteLine($"value={value}");
    }
}
  1. input ← 18, parsed ← True, status ← ok

    4{5    static void Main()6    {7        string input→ 18 = "18"; //@input="oops", "5"8        bool parsed→ True = int.TryParse(input18, out int value);9        string status→ ok = parsedTrue ? "ok" : "fallback";1011        if (!parsed)12        {13            value = -1;14        }1516        Console.WriteLine($"input={input18}");17        Console.WriteLine($"status={statusok}");18        Console.WriteLine($"value={value18}");19    }
    outputinput=18
    status=ok
    value=18
  1. input ← oops, parsed ← False, status ← fallback

    4{5    static void Main()6    {7        string input→ oops = "oops";8        bool parsed→ False = int.TryParse(inputoops, out int value);9        string status→ fallback = parsedFalse ? "ok" : "fallback";
  2. value ← -1

    11if (!parsedFalse)12{13    value→ -1 = -1;14}
  3. Console.WriteLine($"input={input}");

    16    Console.WriteLine($"input={inputoops}");17    Console.WriteLine($"status={statusfallback}");18    Console.WriteLine($"value={value-1}");19}
    outputinput=oops
    status=fallback
    value=-1
  1. input ← 5, parsed ← True, status ← ok

    4{5    static void Main()6    {7        string input→ 5 = "5";8        bool parsed→ True = int.TryParse(input5, out int value);9        string status→ ok = parsedTrue ? "ok" : "fallback";1011        if (!parsed)12        {13            value = -1;14        }1516        Console.WriteLine($"input={input5}");17        Console.WriteLine($"status={statusok}");18        Console.WriteLine($"value={value5}");19    }
    outputinput=5
    status=ok
    value=5