私はここで私の 2 セントを与えるだろうと思った。時間と計算パフォーマンスが必要なソート アルゴリズムを使用する代わりに、データ オブジェクトにデータを追加する方法を逆にしてみませんか。
これはすべてのシナリオでうまくいくわけではありませんが、私自身のシナリオでは完全にうまくいきました。
アイテムを昇順でリストするデータベースがありましたが、使いやすさのために、最新の入力がリストの下部ではなく上部に表示されるように、人々がデータを表示できる方法 (DESC) を逆にする必要がありました.
そのため、for ループを変更したので、0 から上向きに作業するのではなく、データテーブルの長さから開始し (オーバーフローを停止するには -1)、>= から 0 になると停止します。
private Dictionary<string, string> GetComboData(string table, int column, bool id, int idField = 0)
{
SqlClass sql = new SqlClass(database);
Dictionary<string, string> comboBoxData = new Dictionary<string, string>();
if (sql.connectedToServer)
{
sql.SelectResults(SQLCommands.Commands.SelectAll(table));
for (int i = sql.table.Rows.Count-1; i >= 0; i--)
{
string tool = sql.table.Rows[i].ItemArray.Select(x => x.ToString()).ToArray()[column];
string ID = sql.table.Rows[i].ItemArray.Select(x => x.ToString()).ToArray()[idField];
comboBoxData.Add(ID, tool);
}
}
return comboBoxData;
}