c#没有给出与所需形式参数对应的参数

c#没有给出与所需形式参数对应的参数,c#,C#,我是C#的新手,我真的不知道我做得是否正确。所以我有两种形式,一种是创造一个角色,另一种是我正在制作的主要游戏。我有两个单选按钮来选择一个表单上的角色性别。现在我想将用户选择的任何性别作为文本传递到主游戏表单上的标签上 在我的CharacterCreation表单上,我创建了以下方法: public string characterGender(string Male, string Female, int id) { String genderFem

我是C#的新手,我真的不知道我做得是否正确。所以我有两种形式,一种是创造一个角色,另一种是我正在制作的主要游戏。我有两个单选按钮来选择一个表单上的角色性别。现在我想将用户选择的任何性别作为文本传递到主游戏表单上的标签上

在我的CharacterCreation表单上,我创建了以下方法:

public string characterGender(string Male, string Female, int id)
{                  
    String genderFemale = Female;
    String genderMale = Male;
    int ID = id;

    if (radiobtngenderFemale.Checked == true)
    {
        id = 1;
        return Female;   
    }
    else if (radiobtngenderMale.Checked == true)
    {
        id = 2;
        return Male;
    }
}
在我的主要游戏表单上,我有以下代码:

public partial class MainGame : Form
{
    private CharacterCreation _characterCreation;

    public MainGame()
    {
        InitializeComponent();    
        _characterCreation = new CharacterCreation();        

        lbl1.Text = _characterCreation.characterGender()
    }

    private void MainGame_Load(object sender, EventArgs e)
    {

    }
}
但是,我得到了一个错误: “没有与所需形式参数对应的给定参数”


我已经研究了很多其他主题,但没有真正找到答案。

当您调用该方法时,\u characterCreation.characterGender()

您需要传递声明的参数

或者从方法中删除参数

characterGender(string Male, string Female, int id)


这不是完整的错误消息。当调用
\u characterCreation.characterGender()
时,您必须通过在函数调用括号内写入您想要给它的值来为它提供3个参数
string-Male、string-Male、int-id
,这就是为什么你会犯错误。我知道你是个初学者,但也许退一步看看你的逻辑。方法
characterGender()
接受3个参数(
stringmale,stringfemale,intid
)。调用该方法时不会传递这些参数。另外,方法中根本没有使用
gendermeale
genderMale
变量,它们有什么意义?你也不需要检查你的if语句
if(radiobtngenderMale.Checked==true)
你只需要检查
if(radiobtngenderMale.Checked)
我只能补充一点,Windows窗体不是开发游戏的合适工具。虽然基于turnbased的单人游戏和hotseat多人游戏是可能的,但即使是这些游戏也有限制。纸牌游戏很可能是Windows窗体中的上限。一般来说,您应该在.NETFramework中使用LiekXna或.NETCore()的三种方法中的任何一种,但您还没有听说过Aurora4x。不管怎样,我并不想做一个伟大的游戏,只是练习和学习
 characterGender()