データグリッド A の列を Z に並べ替えようとしています。以下のコードは、「A」の間に「c」で始まる列を取得する以外に機能します (たとえば、a、a、a、a、c、a、 a、b、b、b)、これはコードを初めて実行したときに発生します。次に columnNames.Reverse(); を使用すると (Z から A) から columnNames.Sort() (A から Z) を再実行すると、正しく並べ替えられます。これはなぜでしょうか?
List<string> columnNames = new List<string>();
foreach (DataGridViewColumn col in dataGridView1.Columns)
columnNames.Add(col.HeaderText);
columnNames.Sort();
foreach (DataGridViewColumn col in dataGridView1.Columns)
col.DisplayIndex = columnNames.IndexOf(col.HeaderText);
ありがとう