C# 需要了解我用于图表的代码
这条线在干什么?结果写入布尔变量,但不用于我的思考。如果它被使用,你能解释一下如何使用吗C# 需要了解我用于图表的代码,c#,C#,这条线在干什么?结果写入布尔变量,但不用于我的思考。如果它被使用,你能解释一下如何使用吗 bool metinoysonuc = Double.TryParse(txt_metin.Text, out metinoy); bool oktayoysonuc = Double.TryParse(txt_oktay.Text, out oktayoy); bool fatihoysonuc = Double.TryParse(txt_fatih.Text, out fatihoy); bool te
bool metinoysonuc = Double.TryParse(txt_metin.Text, out metinoy);
bool oktayoysonuc = Double.TryParse(txt_oktay.Text, out oktayoy);
bool fatihoysonuc = Double.TryParse(txt_fatih.Text, out fatihoy);
bool terimoysonuc = Double.TryParse(txt_terim.Text, out terimoy);
诸如metinoysonoc之类的bool变量确实没有被使用。因此,您可以安全地删除它们,这意味着代码仍将编译和执行:
// Full Code
double metinoy, oktayoy, fatihoy, terimoy;
bool metinoysonuc = Double.TryParse(txt_metin.Text, out metinoy);
bool oktayoysonuc = Double.TryParse(txt_oktay.Text, out oktayoy);
bool fatihoysonuc = Double.TryParse(txt_fatih.Text, out fatihoy);
bool terimoysonuc = Double.TryParse(txt_terim.Text, out terimoy);
// her atama öncesi grafik temizleme
foreach (var series in chart1.Series)
{
series.Points.Clear();
}
chart1.Series["Notlar"].Points.Add(metinoy);
chart1.Series["Notlar"].Points.Add(oktayoy);
chart1.Series["Notlar"].Points.Add(fatihoy);
chart1.Series["Notlar"].Points.Add(terimoy);
chart1.Series["Notlar"].Points[0].AxisLabel = lbl_metin.Text;
chart1.Series["Notlar"].Points[1].AxisLabel = lbl_oktay.Text;
chart1.Series["Notlar"].Points[2].AxisLabel = lbl_fatih.Text;
chart1.Series["Notlar"].Points[3].AxisLabel = lbl_terim.Text;
chart1.Series["Notlar"].Color = Color.Yellow;
chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 70;
chart1.BackColor = Color.DarkRed;
这些相同的操作仍然会在metinoy等变量中生成解析结果
然而,真正的问题是。。。你想对那些糟糕的结果做点什么吗?这些值指示解析操作是成功还是失败。如果解析操作失败,您是希望代码以0的值静默进行,还是希望响应错误
例如:
Double.TryParse(txt_metin.Text, out metinoy);
Double.TryParse(txt_oktay.Text, out oktayoy);
Double.TryParse(txt_fatih.Text, out fatihoy);
Double.TryParse(txt_terim.Text, out terimoy);
如何处理解析失败取决于您自己。bool值只是指示解析操作是否成功。关于行metinoysonuc=Double.TryParsetxt_metin.Text,out metinoy
如果txt_metin.Text中的字符串不是有效的double,则double.TryParse将返回false,这也会将metinoysonuc设置为false,并将metinoy设置为false
如果txt_metin.Text中的字符串是有效的double,则double.TryParse将返回true,这也会将metinoysonuc设置为true,并且metinoy将包含txt_metin.Text中包含的已解析的double
虽然看起来您的代码片段中没有使用布尔值,但如果metinoysonuc在本例中为false,它可能会像metinoy一样起作用。bool结果在这里不被使用-它们也可以调用just Parse。如果解析失败,Bools将变为false,但显然您需要对此进行测试,以使其有意义。@500 InternalServerError如果使用了parse,代码可能会出错,而不仅仅是默认为0。如果无法解析,则默认为0可能是所需的行为。但是,是的,没有必要使用变量。@500 InternalServerError:如果解析失败会伴随异常而大声失败,那么他们可能会调用just Parse-If。忽略解析失败并继续执行零可能是完全有效的业务逻辑。为什么不搜索double.tryparse c,您将很容易找到metinoy存储的结果,以后使用metinoy将保持不变。-它将被更改为0。必须为没有变量的方法分配变量。在本例中,它已经是零了,因为它只是刚刚声明的,但是它是一个需要注意的点,在其他地方,它可能已经有了一个非零值。它也不会是未定义的。正好是零或者零如果转换失败谢谢你的回答这就是我想要的。
bool metinoysonuc = Double.TryParse(txt_metin.Text, out metinoy);
bool oktayoysonuc = Double.TryParse(txt_oktay.Text, out oktayoy);
bool fatihoysonuc = Double.TryParse(txt_fatih.Text, out fatihoy);
bool terimoysonuc = Double.TryParse(txt_terim.Text, out terimoy);
if (!metinoysonuc || !oktayoysonuc || !fatihoysonuc || !terimoysonuc)
{
// At least one parse operation failed. Notify the user?
}