Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#程序映射到excel运行时间过长问题_C#_Excel - Fatal编程技术网

C#程序映射到excel运行时间过长问题

C#程序映射到excel运行时间过长问题,c#,excel,C#,Excel,我有一个C#程序,可以将遗留文本文件报告映射到excel工作表。它可以工作,但运行时间太长。 我不知道怎么做,但我读到一个问题是使用IF语句,我应该将其更改为SWITCH子句。我该怎么做? 这是一个典型的例子 else if (line.Contains("BILLING PARTY 1")) { string billingParty1 = line.Replace("BILLING PARTY 1", "");

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

这个建议在这里似乎不适用。您可以使用
switch
语句替换长链的
if
s,检查字段是否与某个值匹配。例如:

if(foo == bar){
    Do1();
}
else if(foo == baz){
    Do2()
}
变成

switch(foo)
{
    case bar:
       Do1();
       break;
    case baz:
       Do2();
       break;
}
在这种情况下,编译器可能会生成更快的代码。但是在
if
语句中似乎有一些更复杂的条件,而不是简单的等式,因此您将无法使用
开关,因为在
开关中

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


这与您的Excel问题无关