| ■No82082 (夜叉丸 さん) に返信 > ちなみに、下側は .OrderBy(r => r.CODE, r.TNO) > という表記ができなかったので、変更しています。
であれば、前者も orderby r.CODE, r.TNO ではなく orderby r.CODE に しておかないと比較にならない気が。(^^;
> 以下の2つの書き方は表記が違うだけ内部の処理的には同様なのでしょうか?
その 2 つでいうと、内部的には後者の方が単純化されます。 r.TNO での並び替えがありませんからね。
> var vartjname = (from r in dt > orderby r.CODE, r.TNO > select r.NAME).Distinct().ToArray();
こちらは、 var vartjname = dt .OrderBy(r => r.CODE).ThenBy(r => r.TNO) .Select(r => r.NAME).Distinct().ToArray();
の意味になります。ThenBy の分だけ、
> var vartjname2 = dt > .OrderBy(r => r.CODE) > .Select(r => r.NAME).Distinct().ToArray();
よりも処理が増えることになりますね。
> つまり、同じように表記したものは速度的にはどちらも同じだとか、 同じです。ただし、メソッド構文でなければ記述できない処理もあります。
> 合わせて下側の OrderBy で複数指定する方法も教えてください 上記コード例を参照。
ちなみに VB の場合は、クエリ構文にも Distinct があります。
Dim vartjname = ( From r In dt Order By r.CODE, r.NAME Select r.NAME Distinct ).ToArray()
|