1

継続的に実行されているスレッド「タイマー」で関数「カスタムメソッド」を呼び出すシナリオがあります。システムコードを制御することはできません。これは、システムがどのように機能するかを示すためのものであり、システムコードにどのコードが記述されているかさえ知りません。

システムコード

   timer duration = 1000
    void timer_elapsed()
    {
          foreach(string symbol in symbols) //symbol list may vary
          {
               custommethod(symbol);
          } 
    }

エンド システム コード

したがって、私のメソッド「custommethod」は、システム コードから定期的にパラメーターを取得するだけです。ユーザーがシステム コードによって処理されるシンボルを追加または削除すると、シンボル リストが異なる場合があります。私が得るのは、定期的にアクティブなシンボルだけです。したがって、私の関心事は、アクティブなシンボルのリストを保持することです。

私のコード

function custommethod(string symbol)
{
      //Check whether new symbol is added or a symbol is deleted
}

コードを終了する

これは私がこれまでに試したことです

    HashTable ht=new HashTable();
    function custommethod(string symbol)
    {
          //Check whether new symbol is added or a symbol is deleted
            if(!ht.ContainsKey(symbol))
            {
                ht.Add(symbol,0);  //New symbol added
            }
          //How will i come to know whether a symbol is deleted or not
    }
4

2 に答える 2

1

ht同じならsymbolsまずい。foreachループのソースを変更してはいけません。

その場合は、新しいコレクションを作成し、それを古いコレクションに置き換えます。

于 2013-05-29T15:43:50.787 に答える