C# 方法'没有重载;ToString';接受1个参数

C# 方法'没有重载;ToString';接受1个参数,c#,C#,为一个游戏制作一个模版,我一直在试图得到角色的名字,当它产生的时候,马特 然而,这对我来说并不顺利。尽管我自己解决了无数的问题,但我还是找不到解决这个错误的方法: 方法“ToString”不重载1个参数 代码如下: switch (WorldGen.genRand.Next(0)) { case 0: return ToString("Matt"); } ToString是Object类的virtual方法。它可用于将类型转换为字符串。因此,您尝试使用的方法是不正确的。

为一个游戏制作一个模版,我一直在试图得到角色的名字,当它产生的时候,马特

然而,这对我来说并不顺利。尽管我自己解决了无数的问题,但我还是找不到解决这个错误的方法:

方法“ToString”不重载1个参数

代码如下:

switch (WorldGen.genRand.Next(0))
{
    case 0:
        return ToString("Matt");
}

ToString
Object
类的
virtual
方法。它可用于将类型转换为字符串。因此,您尝试使用的方法是不正确的。把你的代码改成这个。此外,“Matt”已经是字符串格式,因此不需要转换。如果方法返回字符串类型,则应使用

switch (WorldGen.genRand.Next(0))
{
    case 0:
        return "Matt";
}
谢谢

方法“ToString”不重载1个参数

这条信息很清楚,说明
ToString
不接受任何参数。您可能正在尝试执行类似的操作(请注意下面代码中的注释):

在上面的代码中,
SomeClass
没有
ToString
方法,但默认情况下,所有类都派生具有
ToString()方法的
对象
类。因此,调用
ToString()
(不带任何参数)将起作用,因为该方法是从
对象继承的。但是,调用
ToString(“WithArgument”)
将不起作用,并导致您得到的异常。如果只想返回
Matt
或任何其他字符串,只需执行以下操作:

return "Matt"; // or anything else

来自
对象的默认
ToString()
没有重载。您只需
返回“Matt”
。ToString需要一个类型来转换为字符串,如
int.ToString()
请向我们展示完整的code@CodingYoshi而@Ben ToString可以引用实例
this.
。因此,可以在class@CodingYoshi不一定,每个对象都会自动继承此方法,因此您可以只调用
ToString()
,但我同意您不能简单地将字符串作为参数插入其中,正如OP Provesi发布的示例,如果您也能解释为什么这会有帮助,您的答案对OP更有价值。
return "Matt"; // or anything else