c# - 在方法内部调用方法的正确方法

标签 c#

我需要创建一个应用程序来充当 BMI 计算器,它收集许多属性,具有匹配的属性来获取和设置这些属性值,并请求许多方法来计算特定数据,例如患者年龄、最大心脏率、目标率等。

我的问题本质上是关于方法的使用,看看这种使用是否正确。

我计算年龄的方法如下所示:

public int Age()
{
   DateTime Now = DateTime.Today;
   return (Now.Year - DateOfBirth);
}

我不能 100% 确定我现在是否可以在另一个方法的计算中使用该方法,例如:

public int MaxHeartRate()
{
   return (220 - Age());
}

我也可以使用属性来执行此操作,但是作业要求使用方法来执行计算。

如有任何帮助,我们将不胜感激。我了解方法和属性之间的用法,但是我不清楚在方法中调用另一个方法以进行计算的用法。

最佳答案

是的,这很好。

但是,这里可能有一个错误:

public int Age() {
    DateTime Now = DateTime.Today;
    return (Now.Year - DateOfBirth);
}

不清楚 DateOfBirth 是什么,但如果它代表出生年份,如果我出生于 2011 年 12 月 31 日,并且 DateTime.Now 是 2012 年 1 月 1 日 12:00:00.000 AM?

还有一点评论,你会经常看到别人把你的方法写成

public int MaxHeartRate() {
    return (220 - this.Age());
}

非常清楚我们正在调用实例方法 Age。可读性是编写好的代码最重要的特征之一。

关于c# - 在方法内部调用方法的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7445929/

相关文章:

Double.GetHashCode() 的 C# 缺陷

c# - 如何从 arraylist 中获取不同/唯一的值?

c# - 从 Outlook 中检索单个项目的最有效方法是什么(互操作)

c# - 控制 WCF 响应格式和命名空间

c# - Bit-Framework如何实现不同项目的模块化依赖注册?

java - 尝试在Unity3d中构建Android版本时遇到问题

c# - 如何获取 StackExchange.Redis 的键计数?

c# - 控制台输出的自定义格式

c# - WPF - 当我从其他窗口添加项目时,Observablecollection 绑定(bind)的 DataGrid 没有更新

c# - 是否可以扩展 Entity Framework 以添加新的数据库查询类型?