2017年10月23日
川俣晶の縁側ソフトウェア技術雑記 total 2865 count

LINQに対する.NET FW 4.7.1と.NET Core 2.0の拡張の調査

Written By: 川俣 晶連絡先

目的 §

 LINQに対する.NET FW 4.7.1と.NET Core 2.0の拡張を調査する。

 より厳密には、.NET FT 4.7のSystem.Linq.Enumerableクラスに属するメソッドと、.NET FW 4.7.1と.NET Core 2.0の同クラスに属するメソッドを比較する。

 .NET FW 4.7.1と.NET Core 2.0は、それぞれ調査時点での最新版を使用する。

方法 §

 特定クラスのメソッドをリストアップする簡易コードを作成して、結果ファイルをfcコマンドで比較した。

結論・.NET FW 4.7.1で拡張されているメソッド §

  • Append
  • Prepend

結論・.NET Core 2.0で拡張されているメソッド §

  • Append
  • Prepend
  • SkipLast
  • TakeLast
  • ToHashSet (2 methods)

補足 §

 MoreLINQというライブラリに同名メソッドがあり、名前が衝突してしまうらしい。

感想 §

「AppendやTakeLastはあると便利だと思っていた。書くと回りくどくなると思っていた。追加されるのはある意味で必然だろう」

「歓迎の方向?」

「しかし、.NET Core 2.0でしか使えないとしたらどうだろう。結局使えないかも」

「あらら」

「しかし、.NET FWの方が機能が多かったはずが、そうとも言いきれない状況になってきた」

「先行して.NET Coreで実装される機能があるわけだね」

「しかし、名前の衝突はいかんな。あれは上手くない。既存ライブラリとは当たらないように作った方が良かったと思う」

「今のMSは、互換性の維持についてはあまり熱心とは言えないわけだね」

「非互換変更は昔からあったけどな。最近は頻度が多い。周知徹底の意欲も低い」