C#使用专用双功能计算距离
我刚刚被介绍到C#编码的世界。目前,我在一个程序中工作,该程序将使用总行驶距离和总行驶小时数计算平均速度,结果将乘以从纽约市到迈阿密的时间,得到从纽约市到迈阿密的距离。我在表单上放置了四个C#使用专用双功能计算距离,c#,C#,我刚刚被介绍到C#编码的世界。目前,我在一个程序中工作,该程序将使用总行驶距离和总行驶小时数计算平均速度,结果将乘以从纽约市到迈阿密的时间,得到从纽约市到迈阿密的距离。我在表单上放置了四个文本框,还有一个按钮来进行计算 我需要帮助建立功能。例如,为了计算速度:速度=距离/时间。如何在CalculateVelocity()函数中以适当的格式保存这些信息 4个文本框及其标签(用户将在此处输入数据): Starting Mileage Ending Mileage Total Driving Time
文本框
,还有一个按钮
来进行计算
我需要帮助建立功能。例如,为了计算速度:速度=距离/时间。如何在CalculateVelocity()函数中以适当的格式保存这些信息
4个文本框及其标签(用户将在此处输入数据):
Starting Mileage
Ending Mileage
Total Driving Time
Time from NY city to MIAMI
代码-我正在使用的函数:
private double CalculateVelocity()
{
//Calculate Velocity
}
public double GetTime()
{
//Get Time
return GetTime;
}
private double CalculateDistance(double velocity, double time)
{
//Calculate Distance
}
private double DisplayResults(double velocity, double time, double distance)
{
//Display Results
}
private double ClearTextboxes()
{
//Clear textboxes
}
// Property to GetTime
private double GetTime
{
get
{
// variable to hold time
double time = double.MinValue;
// Safely parse the text into a double
if (double.TryParse(tbTime.Text, out time))
{
return time;
}
// Could just as easily return time here
return double.MinValue;
}
set
{
// Set tbTime
tbTime.Text = value.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
//Calculate and display result in a label
}
只需添加所需的参数,并在调用函数之前从文本框(如您所示,您知道如何)进行解析,该函数应如下所示:
private static double CalculateVelocityMPH(double distanceMiles, double timeHours)
{
return distanceMiles / timeHours;
}
private double CalculateVelocity()
{
double time = GetTime(); //assuming you have set up GetTime()
double distance = endingMileageBox - startingMileageBox;
return distance/time;
}
在挑选和指定像我一样的单位作为后期修复时值得一试
然后,在解析时间文本框时,使用
TimeSpan.Parse
,然后使用.TotalHours
调用该方法。CalculateVelocity
应如下所示:
private static double CalculateVelocityMPH(double distanceMiles, double timeHours)
{
return distanceMiles / timeHours;
}
private double CalculateVelocity()
{
double time = GetTime(); //assuming you have set up GetTime()
double distance = endingMileageBox - startingMileageBox;
return distance/time;
}
其中,endingMileageBox
是结束里程文本框中的值,startingMileageBox
是开始里程文本框中的值
根据您的评论,以下是
CalculateInstance
应该是什么样子:
private double CalculateDistance(double velocity, double time)
{
//note that this assumes the units match up. If not, you'll need to do some conversions here
return velocity * time;
}
}那么您想获取开始里程和结束里程来计算距离,然后使用时间输入来计算速度吗?@LukeHennerley,按下按钮时,将使用行驶的总距离和行驶的总小时数计算平均速度,这将乘以从纽约到迈阿密的时间,得到从纽约到迈阿密的距离。标签显示速度、时间和距离。+1这是完美的。我还没有设置
GetTime()
。任何关于如何设置GetTime()
的建议?好吧,假设填充了tbTime
,实际上您可能只需要执行double time=GetTime代码>取而代之。如果你想让GetTime
成为一个公共属性,你并不需要一个函数来获取时间。我真的建议将GetTime
属性设置为私有,然后将GetTime()
设置为这样:public double GetTime(){return GetTime;}
好的,我根据您的帮助编辑了我的答案。当声明此public-double-GetTime(){return-GetTime;}
时,我现在在GetTime()
和GetTime
之间遇到了一个歧义错误。这是为什么?@charlechodex23哦,对了。这是因为c不知道是返回属性GetTime
还是返回函数句柄GetTime
。尝试将属性设置为小写。谢谢!最后一件事,如果你不介意的话。您能告诉我如何计算功能的距离吗计算距离
?