c# - CS0029 无法将类型“double”隐式转换为“bool”
问题描述
对于学校作业,我必须编写一个程序,该程序计算直角三角形的面积。你得到了三个方面。所以我想用毕达哥拉斯来确定底是什么,高度是多少。每次我通过赋值输入此内容时,我都会得到 CS0029 CS0029 无法将类型“double”隐式转换为“bool”。有人有想法吗?
class Program
{
static void Main(string[] args)
{
void Opp(double D, double E,out double O)
{
O = (D * E / 2);
}
void Pyth (double F, double G, out double H)
{
H = Math.Sqrt(Math.Pow(F, 2) + Math.Pow(G, 2));
}
Console.WriteLine("Geef de waarde van driehoek 1 in: ");
Console.WriteLine("Zijde a");
double A1 = double.Parse(Console.ReadLine());
Console.WriteLine("Zijde b");
double B1 = double.Parse(Console.ReadLine());
Console.WriteLine("Zijde c");
double C1 = double.Parse(Console.ReadLine());
double DH1;
double PA1 ;
double PB1;
double PC1;
double DH2;
double P2;
Pyth(A1, B1, out PC1);
Pyth(A1, C1, out PB1);
Pyth(C1, B1, out PA1);
if (C1 = PC1)
{
Opp(A1, B1, out DH1);
Console.WriteLine("Oppervlakte driehoek 1 is: " + DH1 + " cm²");
}
else if (B1 = PB1)
{
Opp(A1, C1, out DH1);
Console.WriteLine("Oppervlakte driehoek 1 is: " + DH1 + " cm²");
}
else if (A1 = PA1) {
Opp(C1, B1, out DH1);
Console.WriteLine("Oppervlakte driehoek 1 is: " + DH1 + " cm²");
}
else { Console.WriteLine(" error"); }
Opp(A1,B1,out DH1);
Console.WriteLine("de oppervlakte van driehoek 1 is " + DH1 + "cm²");
double pyth = Math.Sqrt(Math.Pow(A1, 2) + Math.Pow(B1, 2));
Console.WriteLine("controle");
Console.ReadLine();
}
}
}
解决方案
您必须更正您的 if 语句。在 c# 中比较 2 个元素需要比较运算符 (==) 所以像这样更正它们
if (C1 == PC1)
{
//DoStuffHere
}
推荐阅读
- oracle - 在 Oracle 中更新表
- selenium - 如何使用具有不同类型答案类型的表单,例如单选、复选框、日期、文本框等
- python - Python 在 Cython 文件中存储断点变量状态 - sklearn
- android - 使用 Android 密钥库提供程序进行客户端身份验证
- python - 查找字符串中一组子字符串的所有位置的优化
- java - MapBox:在前台服务中初始化 LocationEngineCallback
- flutter - 如何从 Firebase 数据库中获取父数据?
- kafka-python - Kafka Python Consumer 使用 auto_offset_reset='earliest' 但不是 auto_offset_reset='latest'
- material-ui - 材质 UI 类名不匹配
- gcc - 无法访问 gcc 中寄存器 RTX 对应的变量名