C#中的方法参数可能是这样的吗?
我的老师给我布置了一个作业,我认为这项任务不可能完成,但他坚持认为这是可以完成的:基本上,我需要创建一个方法WriteSum,它将两个整数相加,这个方法由他在main方法中调用,而我必须在一个类中编写WriteSum方法代码:他坚持方法必须像这:C#中的方法参数可能是这样的吗?,c#,C#,我的老师给我布置了一个作业,我认为这项任务不可能完成,但他坚持认为这是可以完成的:基本上,我需要创建一个方法WriteSum,它将两个整数相加,这个方法由他在main方法中调用,而我必须在一个类中编写WriteSum方法代码:他坚持方法必须像这:WriteSum(22+24),返回值为46。 这可能吗??? 据我在C#中所知,方法参数之间带有逗号,因此他调用该方法的正确代码应该是WriteSum(22,24) 他的代码是这样的: string n = Calculator.WriteSum(22
WriteSum(22+24)
,返回值为46。
这可能吗???
据我在C#中所知,方法参数之间带有逗号,因此他调用该方法的正确代码应该是WriteSum(22,24)
他的代码是这样的:
string n = Calculator.WriteSum(22+24);
Console.WriteLine(n);
Console.Read();
我必须在类计算器中编写“WriteSum”方法。你是对的:在调用你的方法之前,C#将计算表达式22+24
。换句话说,WriteSum(22+24)
的行为将与WriteSum(46)
完全相同,即它将
WriteSum
的单参数方法,然后46
作为参数传递因此,无法满足您问题中所述的要求。正如其他人在评论中提到的那样,您的讲师可能实际上打算为您分配以下任务之一:
WriteInt
,而不是WriteSum
,并且实现将非常简单WriteSum(“22+24”)
),则需要解析字符串、提取求和、添加它们,并打印(或返回)结果。这听起来确实像是给学生的现实任务在任何情况下,您都应该在开始实现任何东西之前明确要求。
WriteSum(22+24)
的效果与WriteSum(46)
的效果相同,因为编译器可能会将常量相加。也许老师想要它作为一个字符串,WriteSum(“22+24”)
你要解析它吗?你问过你的老师要澄清吗?正如潜行者所说,只需接受一个字符串拆分加上add和return,请发布他主要方法中的相关代码以及你需要实现的方法声明。作为澄清,调用WriteSum(22+24)
在调用之前完成求和,你的方法不做任何求和。更重要的是,该方法甚至不知道有加法,它只接收数字46。你也可以调用这个方法WriteSum(3*9-4)
,正如你所看到的,这个方法不需要求和,因为它收到了一个int
。如果WriteSum
接受一个表达式作为参数,那么它可能是可能的(()=>22+24
),但我认为老师没有这个意图。