C#程序映射到excel运行时间太长

时间:2011-10-28 15:11:16

标签: c# excel

我有一个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();
                        }
                    }

1 个答案:

答案 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>

  

每个案例标签指定一个常量值。

MS Ref