c# 手写TryParse

先了解下 TryParse ( <string>,out <int> )用法:

TryParse( <string>,out <int> ):

参数一:需要转换的字符串

参数二:out是多余返回的参数,是int整数类型,当转换成功时,此参数就是转换的结果,转换失败时,此参数为0。

举个栗子:

static void Main()
{
    // 将字符串转换为int类型
    int num;
    bool res = int.TryParse("123", out num);
    Console.WriteLine($"返回值为:{ res }"); // True
    Console.WriteLine($"返回结果为:{ num }"); // 123
    Console.ReadLine(); 
}
static void Main()
{
    // 将字符串转换为int类型
    int num;
    bool res = int.TryParse("123asd", out num);
    Console.WriteLine($"返回值为:{ res }"); // False
    Console.WriteLine($"返回结果为:{ num }"); // 0
    Console.ReadLine(); 
}

实现:

了解其用法之后,其实很简单,下边我们来实现下:

static void Main()
{
    // 将字符串转换为int类型
    int num;
    bool res = MyTryParse("123", out num);
    Console.WriteLine($"返回值为:{ res }"); // True
    Console.WriteLine($"返回结果为:{ num }"); // 123
    Console.ReadLine(); 
}
/// <summary>
/// 实现TryParse
/// </summary>
/// <param name="str">要被转换的字符串</param>
/// <param name="result">多余返回的转换的结果,类型为int</param>
/// <returns>返回的值,类型为bool</returns>
public static bool MyTryParse(string str, out int result)
{
    result = 0; // 这里result必须赋值,如果不赋值,转换失败,走catch时,程序会报错
    try
    {
        result = Convert.ToInt32(str);
        return true;
    }
    catch
    {
        return false;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_42778001/article/details/108836193