我在 C# 中使用结构从函数返回两个变量。我宣布了新结构“解决方案”,现在我正在尝试设置我的所有分配。但是,当将我可能的结果之一设置为结构成员时,它说我不能隐式转换类型,但是根据结构成员的定义,它们都应该是字符串。
我哪里做错了?
}
Solution quadratic (int a, int b, int c)
{
d = Convert.ToInt32(Math.Pow (b, 2)) - (4 * a * c);
if (d < 0) {
Solution fail;
fail.solution1 = fail;
fail.solution2 = fail;
return(fail);
} else{
Solution solutions;
solutions.solution1 = Convert.ToString((-1 * b + Convert.ToInt32(Math.Sqrt (d))) / (2 * a));
solutions.solution2 = Convert.ToString((-1 * b - Convert.ToInt32(Math.Sqrt (d))) / (2 * a));
return(solutions);
}
}
public struct Solution
{
public string solution1;
public string solution2;
}
}
更新:我做了一件蠢事。我将新的“解决方案”结构命名为“失败”,这也恰好是我试图分配给它的字符串的名称。小心你的变量名, children
最佳答案
你的问题在这里:
fail.solution1 = fail;
fail.solution2 = fail;
您正在尝试将变量 fail(解决方案类型)分配给变量 fail.solution1 和 fail.solution2(字符串类型)。
关于c# - "Can' t 从类型 "Blah"隐式转换为类型 'string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32159873/