gpt4 book ai didi

c# - 如何在 C# 中将多个 if 语句 i 替换为更紧凑的代码/类?

转载 作者:行者123 更新时间:2023-11-30 21:44:34 27 4
gpt4 key购买 nike

我在将多个 if 语句(如下例所示)转换为更紧凑的代码时遇到问题。我考虑过表或多维数组,但也许你们知道更好的解决方案。我的代码中有大约 30 个 if 语句,它们中没有明确的模式来轻松地将代码转换为更快、更紧凑的代码。

我该如何改进?

if (D == 0.25)
{
if (threadPerInch == 20)
{
le = 0.22;
}
else if (threadPerInch == 28)
{
le = 0.25;
}
else if (threadPerInch == 32)
{
le = 0.28;
}
else
{

}
}

最佳答案

由于您只检查相等性,因此您应该使用本质上允许直接执行此查找的字典。为此,将从 threadPerInchle 的映射定义为某处的字典,例如作为类(class)成员:

Dictionary<int, double> leForThreadPerInch = new Dictionary<int, double>() {
[20] = 0.22,
[28] = 0.25,
[32] = 0.28
};

然后,您可以尝试从中检索值以获取 le 值:

if (D == 0.25)
{
if (!leForThreadPerInch.TryGetValue(threadPerInch, out le))
{
// else case
}
}

关于c# - 如何在 C# 中将多个 if 语句 i 替换为更紧凑的代码/类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40780626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com