“以下代码未正确执行,请尝试找出原因。”
public class CustomMath {
public static int multiply(int a, string b) {
return a * b;
}
}
这是我的解决方案:
public class CustomMath
{
Int i = 1;
public static int multiply(int a, int b)
{
return a * b;
}
}
我还在开始关注运营商超载。仍然抓住失败,所以我想我仍然没有看到它或没有理解使用运算符重载的东西。操作员是否重载了我唯一的问题,还是关闭了我的返回语法?
using system;
public class CustomMath
{
public static int operator *(int a, string b)
{
return a * b;
}
}
所以我正在研究二元运算符,非常确定我的问题是我没有正确表达int和字符串。
答案 0 :(得分:0)
您的运算符重载将不起作用,因为为了使乘法运算符重载,至少有一个操作数必须是用户定义的类型。
问题是,你根本不需要超载。 .NET框架中有一些方法专门用于从字符串中“提取”一个整数,这是你在乘以任何东西之前应该做的。有两种简单的方法可以实现此目的:int.Parse
和int.TryParse
。只需查看MSDN文档,了解它们的工作原理,并在特定场景中选择最佳。
这里有int.Parse
:
string s = "5";
int i = int.Parse(s);
int j = i + 10 // At this point j = 15