0

我有一个简单的代码,它从服务器发送到客户端的值来计数。此循环计数为 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;
}
4

1 回答 1

1

你不能简单地把它转换成传统的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;
      }
  }
于 2012-05-05T20:24:05.070 回答