2013-06-18 60 views
0

我正在通過C#處理XML中的安全數據,看起來很好。但是我當我通過ID標籤接收它給出的信息:C#:按ID排序

1 10 11 12 ... 19,然後2 20 21 22 23和3 30 31等...

不在序列。我如何獲得完美的序列。

注意。在xml元素的ID沒有設置爲序列的原因,我爲什麼要嚴格,而通過ID恢復標籤。當時我使用下面的代碼進行排序

var recListVar = recList.OfType<XmlElement>().OrderBy(items => items.GetAttribute("id")); 

我敢打賭,這種排序是好的字母不是數字。

回答

1

假設你得到所有的數字,你可以簡單地使用int.Parse排序:

var recListVar = recList.OfType<XmlElement>() 
        .OrderBy(items => int.Parse(items.GetAttribute("id"))); 
1

如果你知道你將只能得到可以被解析成一個int字符串,請使用Int32.Parse

var recListVar = recList.OfType<XmlElement>().OrderBy(items => int.Parse(items.GetAttribute("id")));