C#编译错误CS7036:调用UserChoice未提供ComputerChoice实参问题求解
C#石头剪刀布游戏CS7036编译错误解决方案
错误原因
你定义的UserInput.UserChoice方法要求传入3个必填参数,但是你在Main方法中调用该方法时只传了2个参数,缺少了第三个GameItems类型的ComputerChoice参数,因此触发CS7036报错。
修复方案
你可以根据实际需求二选一:
- 方案一:保留
ComputerChoice参数,调用时传入已经生成的随机电脑选项
把Main方法里的调用代码修改为:
你之前已经生成了电脑的随机选择string userVal = UserInput.UserChoice(new string[3]{ "Rock","Paper","Scissors"}, values, randomGI);randomGI,直接作为第三个参数传入即可。 - 方案二:删除无用的
ComputerChoice参数
如果你当前的UserChoice方法逻辑里完全不需要用到电脑选择的参数,可以直接修改方法签名,删掉第三个参数:public static string UserChoice(string[] args, Array items)
额外优化提示
你当前传入的第一个参数new string[3]{ "Rock","Paper","Scissors"}在UserChoice方法的逻辑里没有任何地方用到,属于无用参数,也可以直接从方法签名里删掉,减少不必要的参数传递。
内容的提问来源于stack exchange,提问作者Shinyo
相关产品推荐
相关产品推荐

