检查列表中的任何项是否满足条件

时间:2017-01-30 10:44:32

标签: c#

我有11个项目的清单如下

List<string> telcos = new List<string> { "024", "054", "055", "027", "057", "020", "050", "026", "056", "023", "028" };

现在我想从列表项中进行比较,看看是否至少有一个项目等于我要比较的字符串。 如果任何一个项目等于我的字符串比较,循环应该停止但我得到一个重复循环,这给了我一个错误。

foreach (string fonItem in telcos)
{
   if (frm["txtPhoneNumberField"].Substring(0, 3) != fonItem)
   {
       for (int i = 0; i < loopFoneCount; i++)
       {
           listOfPhonesEdit.Add(frm["PhoneNumberTextBox" + i]);
           ViewBag.ListOfPhonesEdit = listOfPhonesEdit;
       }

      this.redisplay();
      return View(customerModel);
   }

}

我需要你的帮助。

1 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但是,如果您的目标是添加一系列 PhoneNumberTextBox ,如果 frm [“txtPhoneNumberField”] 中的前缀与其中一个前缀相匹配列在您的 telcos 列表中,然后您可以写:

// Extract the prefix once and for all.....
string prefix = frm["txtPhoneNumberField"].Substring(0, 3) 

// Is the prefix listed in telcos?
if(telcos.Any(x => x==prefix)
{
     for (int i = 0; i < loopFoneCount; i++)
        listOfPhonesEdit.Add(frm["PhoneNumberTextBox" + i]);

     // This should be outside the for loop otherwise you get only the 
     // last number in frm....
     ViewBag.ListOfPhonesEdit = listOfPhonesEdit;

     // I am uncertain if these two lines should be inside the if or not.
     this.redisplay();
     return View(customerModel);
}
....