都市名と都市名の都市リストがあり、LinQを使用してフィルタに一致するすべての列を並べ替える必要があります。例えばlinqを使用してC#のすべての列をアルファベット順に並べ替えます(可能な場合)
:
CITY_NAME | CITY COUNTRY
-------------+---------------
Buenos Aires | Argentina
Asuncion | Paraguay
Sydney | Australia
Abadeh | Iran
Acero | Bolivia
私は.StartsWithに「」の文字が、その後のすべての列が、最初のCity_CountryとCITY_NAMEを考慮し、またアルファベット順にを照合することによってソートされたリストを取得したいです。
結果は次のようになります。
Buenos Aires | Argentina
Sydney | Australia
Abadeh | Iran
Acero | Bolivia
Asuncion | Paraguay
この:
.OrderBy(city => city.CITY_COUNTRY).ThenBy(city => city.CITY_NAME)
は名前で国別および後の最初の注文以来、動作しないと私はのような結果を得るでしょう:
Buenos Aires | Argentina
Sydney | Australia
Acero | Bolivia
Abadeh | Iran
Asuncion | Paraguay
これは間違っています。A badeh |イランはより良い一致します cero |ボリビア。
私は可能な限り明確にしようとしました。あなたが同じ国に2つの都市があった場合
おかげ
私は完全な答えのための時間がありません(そして、私はテストしなかったので、それは十分ではありません)が、正しい方向に移動する必要があります。 (City => new Tuple(city.CITY_COUNTY))。OrderBy(item =>新しいタプル(city.CITY_NAME)最後の 'Distinct()'は固着点であり、LINQ to Objectsは順序を維持し、他のLINQプロバイダはそうではない可能性があります。 –
"アルファベット順 "とは何ですか?列や列の意味"シドニー、オーストラリア "はなぜ" Abadeh、Iran "の前に来たのですか?"オーストラリア "は" Abadeh " ? – NetMage
ニュージーランドの都市ウェリントンの場合、@RodriFerryにはどこが表示されるのですか、それともAで始まらないので表示されないのですか? – mjwills