タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

LINQに関するrumbabaのブックマーク (4)

  • LINQにオレオレ機能を追加 - xin9le.net

    LINQは便利です。LINQが使える環境なら率先して使いたいところです。LINQに出会ってからは、LINQに依存し過ぎてLINQがないと生きられない体になってしまいました。LINQさん、愛してます.../// と、くだらない前フリはさておき、LINQを使っていて思うことは「あってほしいメソッドが (稀に) ない」ということです。その多くはInteractive Extensions (Ix)を利用すれば何とかなるのですが、それでも他にも「あるといいのになー」と思うものはあります。それにIxはまだExperimental (実験版) リリースで、仕事で採用するにはそれだけでお許しが...。ということで、あると地味ぃに便利そうなものをいくつか紹介します。 ForEachメソッド 言わずと知れたForEachメソッド。LINQやったことある方なら、一度は作ったことあるんじゃないでしょうか。 pu

    LINQにオレオレ機能を追加 - xin9le.net
  • [C#][VB] LINQでコレクションをチャンク(N個ずつ)に分割

    LINQでチャンク チャンクとは、大きな塊、ぶつ切り、大量、などの意味を持つ英単語です。つまりひとまとまりのデータの塊を指します。 例えば配列などのコレクションに対して、N個ずつの要素のチャンクまとめて処理を行いたい場合があります。100個の要素を持つコレクションを2個の要素をもつチャンク50個に分割するイメージです。これを拡張メソッドとして用意しておけば便利なはずです。 拡張メソッドやイテレータについては以下の記事にまとめています。 [C#] イテレータの使い方 [VB.NET] [VB.NET] 拡張メソッドの使い方 [C#] 拡張メソッドの使い方 Chanks C# public static class Extensions { // 指定サイズのチャンクに分割する拡張メソッド public static IEnumerable<IEnumerable<T>> Chunks<T>

    [C#][VB] LINQでコレクションをチャンク(N個ずつ)に分割
    rumbaba
    rumbaba 2017/10/06
  • neue cc - C#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法

    Linq to XmlがあるならLinq to Htmlもあればいいのに!と思った皆様こんばんは。まあ、DOMでしょ?ツリーでしょ?XHTMLならそのままXDocument.Loadで行けるよね?XDocument.Parseで行けるよね? ええ、ええ、行けますとも。XHTMLなら、ね、ValidなXHTMLならね。世の中のXHTML詐称の99.99%がそのまま解析出来るわけがなく普通に落ちてくれるので、XDocumentにそのまま流しこむことは出来ないわけです(もちろん、うちのサイトも詐称ですよ!ていうかこのサイトのHTMLは酷すぎるのでそのうち何とかしたい……)。 そこでHtmlを整形してXmlに変換するツールの出番なわけですが、まず名前が上がるのがTidy、の.NET移植であるTidy.NETで、これは論外。とにかく面倒くさい上に、パースしきれてなくてXDocumentに流すと平然と

  • 列挙可能から完全なるモノまで – IEnumerableの探索 – C# Advent Calendar 2014

    この投稿は、C# Advent Calendar 2014 の14日目の記事です。 IEnumerableにまつわるアレやアレ こんにちは! いつもはAsyncとLINQの事をしゃべったり書いたりしています。「列挙可能から完全なるモノまで – IEnumerableの探索」というお題で書いてみようと思います。 .NETでは、LINQにまつわるインターフェイスがかなり多く含まれています。その中でも、IEnumerableインターフェイスの継承グラフに存在する様々なインターフェイスを、どのように使い分けるべきか、と言うのが分かりにくいかも知れません。沢山のインターフェイスが定義されているのは、歴史的な事情もあります。 LINQ to ObjectやLINQ to Entitiesなど、一般的に使用されているLINQの背景には、「列挙可能である」という性質があります。この事は、以前にLINQの勉

    列挙可能から完全なるモノまで – IEnumerableの探索 – C# Advent Calendar 2014
  • 1