在LinqPad中运行C#时出现Nullreference错误

时间:2014-03-22 14:41:28

标签: c# nullreferenceexception linqpad

我正在学习C#,我在LinqPad中尝试示例时遇到了这个奇怪的错误。

public class UnitConverter
{   
    int ratio;
    public UnitConverter(int UnitRatio)
    {
        ratio = UnitRatio;
    }

    public int Convert(int data)
    {
        return ratio * data;
    }
}

class Test
{
    static void Main()
    {
        UnitConverter FeetToInchesConverter = new UnitConverter(12);
        Console.WriteLine(FeetToInchesConverter.Convert(10));
    }
}

我收到此错误

NullReferenceException: Object reference not set to an instance of an object.

我做错了什么?

2 个答案:

答案 0 :(得分:2)

问题是你的main()在课堂上,为了在LINQPad中运行程序,删除class Test方法周围的main()

答案 1 :(得分:2)

您需要删除方法main

周围的类
static void Main()
{
    UnitConverter FeetToInchesConverter = new UnitConverter(12);
    Console.WriteLine(FeetToInchesConverter.Convert(10));
}

Main方法是内部类UserQuery的一部分,它用作脚本的入口点。所以,如果你把它隐藏在你自己的类中,那么LinqPAD可能找不到入口点。接下来发生的事情可能是一些无效的引用例如,如果删除类Test的所有代码(包括Main),LimqPAD会引发相同的错误