C# int类型必须是引用类型才能将其用作参数

C# int类型必须是引用类型才能将其用作参数,c#,C#,我有一个简单的代码,当我更改行my.Test()时 到my.Test(),它可以工作,但不适用于int class Program { class MyClass { public void Test<T>() where T : class // Generic Constraint { Console.WriteLine("Hello"); // Prints Hello

我有一个简单的代码,当我更改行
my.Test()时
my.Test(),它可以工作,但不适用于int

class Program
{
    class MyClass
    {
        public void Test<T>()
            where T : class     // Generic Constraint
        {
            Console.WriteLine("Hello"); // Prints Hello
        }
    }

    static void Main()
    {
        MyClass my = new MyClass();
        my.Test<int>();

        Console.ReadKey();
    }
}
类程序
{
类MyClass
{
公开无效测试()
其中T:class//Generic约束
{
Console.WriteLine(“Hello”);//打印Hello
}
}
静态void Main()
{
MyClass my=新的MyClass();
我的测试();
Console.ReadKey();
}
}
在您的代码中

where T : class

int不是一个类。这就是它不起作用的原因。

其中t:class
。我是说。。实际上,你有一个通用的约束,说类型参数应该是一个类。我的汽油车不工作,当我试图把柴油。为什么会这样?@RobertColumbia好像坏了。也许买一个新的。为什么它对字符串my.Test()有效;但不适用于int?字符串是否与类相同?