当前位置:  开发笔记 > 编程语言 > 正文

C#:重构雷诺数计算器

如何解决《C#:重构雷诺数计算器》经验,为你挑选了1个好方法。

我正试图在周末学习一些C#,并遵循这里发现的15个练习:http://www.jobsnake.com/seek/articles/index.cgi ? openarticle&8533

昨天我问了一个关于Fibonacci序列的类似问题并得到了一些很好的响应,这些响应向我介绍了我之前没有遇到过的C#元素: 重构Fibonacci算法

今天我想看看C#Jedi如何重构以下代码:

static string Reynolds(int d, int v, int rho, int mu)
{
    int number = (d*v*rho) / mu;
    if (number < 2100) return "Laminar Flow";
    else if (number < 2100 && number < 4000) return "Transient Flow";
    else return "Turbulent Flow";
}

比昨天更简单,但有没有什么好方法来处理多个条件?

问候,

克里斯



1> BobbyShaftoe..:

我认为您的代码中存在错误,但我做了一个假设.你的第二个"如果"永远不会评估树,因为数字<2000已经使第一个分支成立.

我会创建一个ENUM:

enum FlowType
{
    Laminar
    , Transient
    , Turbulent
};


static FlowType Reynolds(int d, int v, int rho, int mu)
{
    int n = (d*v*rho) / mu;

    if(n < 2000)
    {
        return FlowType.Laminar;
    }
    else if(n < 4000)
    {
        return FlowType.Transient;
    }
    else
    {
        return FlowType.Turbulent;
    }
}

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有