0

一つ質問があります。Windows Phone 7 リストボックスで xml ノードを順序付けするためのコードを見つけました。

using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("P*****.xml", FileMode.Open, isoStore))
                {
                    XDocument loadedCustomData = XDocument.Load(isoStream);
                    var filteredData = from c in loadedCustomData.Descendants("person")
                                       orderby (string)c.Attribute("name")
                                       select new Person()
                                       {
                                           Name = c.Attribute("name").Value,
                                           Beneficiary = c.Attribute("beneficiary").Value,
                                           Price = c.Attribute("price").Value,
                                           Deadline = c.Attribute("deadline").Value,
                                           Index = c.Attribute("index").Value,
                                           Description = c.Attribute("description").Value,
                                           Status = c.Attribute("status").Value

                                       };

                    listBox.ItemsSource = filteredData;
                }
            }

しかし、それはAからZへのような順序付けに対してのみ機能します。しかし、データを逆に順序付けするにはどうすればよいですか(ZからA名へ)。私はこのようなものを見つけました:

var people = data.Elements("person").OrderBy(p => (string)p.Attribute("Age"));

そしてそれを次のように変更しました:

var people = data.Elements("person").OrderBy(p <= (string)p.Attribute("Age"));

しかし、エラーがあります:

メソッド 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)' の型引数は、使用法から推測できません。型引数を明示的に指定してみてください。

したがって、この方法は意味がないと思います。とにかく、XML の逆順について何か考えはありますか?

4

1 に答える 1

0

Linq を見つけました。この '=>' は 'Goes to' と読みます。そのため、元に戻そうとするとエラーが発生します。

例については、こちらをご覧ください http://www.programmersheaven.com/2/CSharp3-4

于 2013-01-20T14:50:31.363 に答える