0

ユーザーが設定したしきい値以下のリスト(レコード)からレコードを削除するようにするだけです

これが私のコードです。アドバイスやヘルプは素晴らしいです。大学の割り当て専用なので、まだ多くを学んでいません ありがとう

 private void FindAndDeleteByCash()
 {
      for (int i = 0; i < records.Count; i++)
      {  
           if (CreditCheckBox.Checked == true)
           {
                if (Convert.ToDouble(BalanceRequired.Text) > records[i].CreditBalance)
                {
                     records.Remove(records[i]);
                }
           }
      }    
 }   
4

3 に答える 3

0

フレームワーク 3.5 以降の場合: (未テスト)

 private void FindAndDeleteByCash()
 {
      Double balance = Convert.ToDouble(BalanceRequired.Text);

      if(CreditCheckBox.Checked == true)
      {
          var rec =  records.Where((rec) => rec <= balance) // Using LINQ
          // print 'rec' to verify, it will contain only related result sets.
      }  
 }   
于 2013-09-09T07:33:25.547 に答える
0

records.Countループ内で変更されるため、ループの外に置くことをお勧めします。

また、ifステートメントを 1に結合することもできます。

    private void FindAndDeleteByCash()
    {
        int recCount = records.Count;

        for (int i = 0; i < recCount; i++)
        {  
            if (CreditCheckBox.Checked == true &&
                 Convert.ToDouble(BalanceRequired.Text) > records[i].CreditBalance)
            {
                    records.Remove(records[i]);
            }
         }    
    }   
于 2013-09-09T05:36:51.857 に答える