Я пытаюсь сортировать мой класс здесь. Мой код следуетКак отсортировать этот словарь
public class Row
{
private Dictionary<string, object> _data = new Dictionary<string, object>();
public object this[string index]
{
get { return _data[index]; }
set { _data[index] = value; }
}
}
я добавил его в коллекцию, как наблюдаемых
ObservableCollection<Row> RowList = new ObservableCollection<Row>();
В моем Окончательный вывод я получаю
RowList[0]._data[0].Key = "Column 1"
.Value = "23"
._data[1].Key = "Column 2"
.Value = "Not Important"
._data[1].Key = "Column 3"
.Value = "Not Important"
RowList[1]._data[0].Key = "Column 1"
.Value = "11"
._data[1].Key = "Column 2"
.Value = "Not Important"
._data[1].Key = "Column 3"
.Value="Not Important"
RowList[2]._data[0].Key = "Column 1"
.Value = "8"
._data[1].Key = "Column 2"
.Value = "Not Important"
._data[1].Key = "Column 3"
.Value = "Not Important"
Теперь я хочу Сортировать Column 1
значения. Я могу использовать Linq, я попытался использовать
foreach (RowList _r in RowList.OrderBy(p => p.Column1))// I am not sure if this approach is right
{
}
Да, это нормально. У вас есть какие-то конкретные проблемы? Обратите внимание, что это вовсе не изменение словаря - это просто создание новой последовательности, которая имеет одни и те же элементы, но в другом порядке. –
Я просто хочу отсортировать элементы, а затем, возможно, добавить в другую наблюдаемую коллекцию. –
На самом деле, глядя на нее, этот код даже не компилируется на данный момент. У вашего типа 'Row' нет свойства' Column1'. Обратите внимание, что вы не пытаетесь сортировать словарь - вы пытаетесь отсортировать * подборку словарей. –