我有一个C#程序将遗留文本文件报告映射到Excel工作表。它有效,但运行时间太长。 我不确定但是我读到一个问题是使用IF语句我应该将其更改为SWITCH子句。我怎么做? 这是一个典型的案例。
else if (line.Contains("BILLING PARTY 1")) {
string billingParty1 = line.Replace("BILLING PARTY 1", "");
if (!string.IsNullOrWhiteSpace(billingParty1)){
patient.BillingParty1 = billingParty1.Trim();
}
}
答案 0 :(得分:1)
这个建议看起来不适用于此。您可以使用switch
语句替换要检查的if
长链,以查看某个字段是否与某个值匹配。例如:
if(foo == bar){
Do1();
}
else if(foo == baz){
Do2()
}
变为
switch(foo)
{
case bar:
Do1();
break;
case baz:
Do2();
break;
}
在这种情况下,编译器可能会生成更快的代码。但似乎您的if
语句中有一些更复杂的条件,而不是简单的相等,因此您将无法使用switch
,因为在switch
中,< / p>
每个案例标签指定一个常量值。