【问题标题】:Can I change Int.TryParse to return -1 instead of zero on an unsuccessful parsing?我可以将 Int.TryParse 更改为在解析不成功时返回 -1 而不是零吗?
【发布时间】:2011-08-02 21:50:18
【问题描述】:

我可以更改 Int.TryParse 在解析不成功时返回自定义数字(如 -1)而不是零吗?

【问题讨论】:

    标签: c# .net parsing int tryparse


    【解决方案1】:

    您不能更改框架方法的代码。你可以创建一个包装方法,或者一个扩展方法。

    【讨论】:

      【解决方案2】:

      您不需要 TryParse 来返回 -1。您可以简单地检查解析是否不成功,然后自己将 -1 分配给您的整数变量。

      int myInt;
      if(!int.TryParse(s,out myInt))
        myInt=-1;
      

      【讨论】:

        【解决方案3】:

        一种方法是这样的:

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

        这将导致 myValue 以 -1 结束,而不是 0。

        【讨论】:

        • 虽然这会导致 myValue 以 -1 结尾,但它不能回答问题。他们要求改变方法本身。
        • @Ash 我认为这只是一个错误的表述。没有理智的人会想以这种方式更改TryParse。这会在 TryParse 上构建的代码中引入很多错误。
        • @Ash Burlaczenko - IMO 这是获得他想要的东西的最简单的选择。他的措辞可能是改变方法,但我敢打赌,这就是他真正想要实现的目标。 Tnx 表示反对。
        • ...不过,如果有人发布了一个显示如何从字面上更改 TryParse 的答案,我会支持它的努力和 LOL。
        • @MAH 您可以使用分析 API 来做到这一点:msdn.microsoft.com/en-us/magazine/cc188743.aspx
        猜你喜欢
        • 1970-01-01
        • 2022-11-02
        • 2019-11-05
        • 1970-01-01
        • 2020-07-13
        • 1970-01-01
        • 2022-01-14
        • 2015-03-15
        • 2021-09-13
        相关资源
        最近更新 更多