-3

次のコードを使用して、ソフトウェアで残高明細書を取得するための口座残高を取得しています。

詳細は次のとおりです。

ASPはクラス名
Rev_AllAccountBalacesはデータテーブルを返す関数です。
BalanceSheetEndDateは DateTime オブジェクト
ano1は返されたデータテーブルの列名
account_balanceはハッシュ テーブルです

コード :

DataTable dt_all_account_balances = ASP.Rev_AllAccountBalaces(BalanceSheetEndDate);

for (int idx = 0; idx < dt_all_account_balances.Rows.Count; idx++)

{                        
  int ano = Int32.Parse(dt_all_account_balances.Rows[idx]["ano1"].ToString());
  double balance = double.Parse(dt_all_account_balances.Rows[idx]["balance1"].ToString());
  account_balance.Add(ano, balance);                   
}

それでは、問題に行きましょう..

「account_balance」に値とキーを追加する際、値は追加順に追加されます。

たとえば、
キーの値を
96 40000
1091 5906
1088 99
1087 4939
1089 49
99 -40000
415 -53993
1036 -100000
1090 1000
1076 42000 とします。

実際には、
1088 99
1076 42000
1036 -100000
1091 5906
1090 1000
1089 49
99 -40000
1087 4939
96 40000
415 -53993 として追加されます。

どうして???????

それらを Datatable 値のように追加する方法...???

4

1 に答える 1

0

Hashtable はマップであり、順序付けされていません。SortedListを使用してみてください。

于 2013-03-26T10:41:23.260 に答える