为什么我在TryParse上得到一个ArgumentException

本文关键字:一个 ArgumentException TryParse 为什么 | 更新日期: 2023-09-27 18:18:07

我的代码片段是

    private static void parseEquationArgs ( string [] cargs, Dictionary<int,Int64> argdic )
    {
        //  cargs:  Command-line arguments
        // argdic:  Dictionary in which to place the equation arguments
        Int64 thisval;
        for ( int k = 1, n = cargs.Length; k < n; ++k )
        {
            // TryParse reference: https://msdn.microsoft.com/en-us/library/system.int64.tryparse(v=vs.110).aspx
            if ( Int64.TryParse(cargs[k],thisval) )
            {

,错误是

匹配'long '的最佳重载方法。TryParse(string, out long)'有一些无效参数。如果我用long代替上面的Int64,我也会得到同样的错误。无论如何,文档说其中一个签名是

public static bool TryParse(
    string s,
    out long result
)

所以我不明白这里出了什么问题…

任何想法?

为什么我在TryParse上得到一个ArgumentException

你得到一个错误,因为你没有使用out修饰符。这是必须的,你不能忽略它。把

if ( Int64.TryParse(cargs[k],thisval) )

if ( Int64.TryParse(cargs[k], out thisval) )
相关文章: