0

サーバーからクライアントにカウントする値を送信する単純なコードがあります。このループ カウントは、1 から 9 までの 9 つの値です。1、3、または 9 クライアントの場合、すべてが適切に機能します。しかし、他の数のクライアントの場合、i_wiersz値が 9 で、foreach ループが何かを別のクライアント サーバーに送信したい場合は、サーバーが故障します。何人かのクライアントと仕事をするにはどうすればいいですか?

foreach ループの中に入れてみます:

if(i_wiersz == 9)
   break;

しかし、エラーが発生します: エラー

コントロールは、匿名メソッドまたはラムダ式の本体を離れることはできません

私のコード:

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 に答える