Сопоставление программ C # с Excel выполняется слишком долго проблема

#c# #excel

#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. это не имеет ничего общего с вашей проблемой Excel

Ответ №1:

Похоже, что этот совет здесь не применим. Вы можете использовать switch оператор для замены длинной цепочки if s, где вы проверяете, соответствует ли поле некоторому значению. Например:

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

становится

 switch(foo)
{
    case bar:
       Do1();
       break;
    case baz:
       Do2();
       break;
}
  

В этом случае, вероятно, компилятор может генерировать более быстрый код. Но похоже, что в ваших утверждениях есть несколько более сложных условий if , в отличие от простого равенства, поэтому вы не сможете использовать a switch , потому что в switch ,

Каждая метка обращения указывает постоянное значение.

MS Ref