여기 내 수업을 정렬하려고합니다. 내 코드는 내가 지금은 Column 1
값을 정렬 할 이 사전을 정렬하는 방법
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"
를 얻을 내가 내 최종 출력에서
ObservableCollection<Row> RowList = new ObservableCollection<Row>();
같은 관찰 가능한 수집에 그것을 추가 한
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; }
}
}
을 다음입니다. 사용할 수있는 Linq 사용할 수 있습니다.
foreach (RowList _r in RowList.OrderBy(p => p.Column1))// I am not sure if this approach is right
{
}
네, 괜찮습니다. 특별한 염려가 있으십니까? 이것은 사전을 전혀 변경하지 않는다는 것을 유의하십시오. 이것은 동일한 요소를 가지고 있지만 순서가 다른 새로운 시퀀스를 만드는 것입니다. –
그냥 요소를 정렬 한 다음 다른 관찰 가능한 컬렉션에 추가하려고합니다. –
실제로 보면 코드를 컴파일하는 순간조차도 컴파일되지 않습니다. 'Row' 타입에는'Column1' 속성이 없습니다. 사전을 정렬하려고하지 않고 있습니다. 사전의 * 모음 *을 정렬하려고합니다. –