C# 中断foreach循环(WCF服务器/客户端)

C# 中断foreach循环(WCF服务器/客户端),c#,asp.net,wcf,foreach,client-server,C#,Asp.net,Wcf,Foreach,Client Server,我有一个简单的代码,它从服务器发送到客户端的值进行计数。此循环计数为9值,从1到9。对于1、3或9个客户来说,一切都很好。但对于其他数量的客户机,当i_wiersz的值为9且foreach循环希望向另一个客户机服务器发送内容时,会出现故障。和任何一个客户一起工作 我尝试在foreach循环中放入: if(i_wiersz == 9) break; 但是有一个错误:错误 控件不能离开匿名方法或lambda的主体 表情 我的代码: bool spr_wiersz(int wiersz, in

我有一个简单的代码,它从服务器发送到客户端的值进行计数。此循环计数为9值,从1到9。对于1、3或9个客户来说,一切都很好。但对于其他数量的客户机,当
i_wiersz
的值为9且foreach循环希望向另一个客户机服务器发送内容时,会出现故障。和任何一个客户一起工作

我尝试在foreach循环中放入:

if(i_wiersz == 9)
   break;
但是有一个错误:错误

控件不能离开匿名方法或lambda的主体 表情

我的代码:

bool spr_wiersz(int wiersz, int kolumna) //chck_roow(int roow, int column)
{
   wys_tab();
   int i_wiersz = 0;
   bool[] result = new bool[9];

   while (i_wiersz < 9)
   {
      subscribers.ForEach(delegate(ImessageCallback callback)
      {
          if (((ICommunicationObject)callback).State == CommunicationState.Opened)
          {
              result[i_wiersz] = callback.spr_wiersz(wiersz, kolumna, i_wiersz);
              i_wiersz++;
          }
      });

      for (int j = 0; j < i_wiersz; j++)
      {
          if (result[j] == false)
          {
             return false;
          }
      }
   }

   return true;
}
bool-spr\u-wiersz(int-wiersz,int-kolumna)//chck\u-roow(int-roow,int-column)
{
wys_选项卡();
int i_wiersz=0;
bool[]结果=新bool[9];
而(i_-wiersz<9)
{
ForEach(委托(ImessageCallback)
{
if(((ICommunicationObject)回调).State==CommunicationState.Opened)
{
结果[i_-wiersz]=callback.spr_-wiersz(wiersz,kolumna,i_-wiersz);
i_wiersz++;
}
});
对于(int j=0;j
您不能简单地将其转换为传统的
foreach

  foreach (IMessageCallback callback in subscribers)
  {
      if (((ICommunicationObject)callback).State == CommunicationState.Opened)
      {
          result[i_wiersz] = callback.spr_wiersz(wiersz, kolumna, i_wiersz);
          i_wiersz++;

          if (i_wiersz == 9)
              break;
      }
  }

这是一个精确的复制品。