【问题标题】:System.ArgumentNullException error with MonoDevelop compiling a c# codeMonoDevelop 编译 c# 代码时出现 System.ArgumentNullException 错误
【发布时间】:2013-03-26 21:07:00
【问题描述】:

我还有一个简单的问题。我有一个编写为 .cs 文件的 C# 程序。 MonoDevelop(由 Xamarin 改进)设法构建了这个项目。但是,当我尝试运行它时,我得到了错误:

System.ArgumentNullException: Argument cannot be null.
Parameter name: s
  at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider)[0x00012] in /private/tmp/monobuild/build/BUILD/mono- 2.10.9/mcs/class/corlib/System/Double.cs:229
  at System.Double.Parse (System.String s) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System/Double.cs:200
  at SampleNamespace.SampleClass.Main () [0x00049] in /Users/ninakuklisova/ThoughtWorks/Sales Taxes with inputs.cs:42

它指向以下代码行:

values[ItemNumber,2] = Double.Parse(quant);

我觉得神秘的是,没有 /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System/ 我的 Mac 上的文件夹,当我在在线编译器上编译这段代码时,一切都很顺利。你知道有什么问题吗?

非常感谢!

【问题讨论】:

    标签: c# monodevelop


    【解决方案1】:
    1. 那个文件夹可能存在于编译单声道的人的机器上。

    2. 检查quant是否为空。

    【讨论】:

    • ... 或使用 Double.TryParse
    • 感谢你们这么快的回复,伙计们!我仍然感到困惑 - quant 不为空,并且 Double.TryParse 似乎也不起作用。你有更多的想法吗?
    • 怎么不工作? quant 实际上是什么?请更新您的问题,我也许可以更新我的答案
    • 看来我解决了问题:它不想以随机顺序处理数组元素;当我重命名 values[ItemNumber,2] = Double.Parse(quant);作为值[ItemNumber,1] = Double.Parse(quant);并且提到的下一个元素 [ItemNumber,1] 作为 [ItemNumber,2],我没有收到更多错误消息。但如果没有你的帮助,我的大脑就不会启动。谢谢!
    • 很高兴能提供帮助,尽管我不完全确定我是否理解问题所在。您显示的异常肯定来自 Double.Parse,所以...好吧,无论如何它已经解决了!
    【解决方案2】:

    是的,就是这么简单:只是不要在第 1 列之前提及第 2 列。我想大多数人无论如何都不会这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多