読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

Linq入門記-91 (LINQ to XML, 行番号と行位置の取得, IXmlLineInfo, HasLineInfo, LineNumber, LinePosition)

LINQ to XMLでの行番号と行位置情報の取得について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、IXmlLineInfoを利用して行番号と行位置の情報を取得する方法に…

Linq入門記-88 (LINQ to XML, イベント, Changing, Changed)

LINQ to XMLでのイベントの利用について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、ChangingイベントとChangedイベントについて. 名前の通りですが、変更中…

Linq入門記-89 (LINQ to XML, 巨大XMLファイルの読み込みと変換処理, XStreamingElement)

LINQ to XMLでのXStreamingElementについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、XStreamingElementについて. このクラスは、遅延評価を行うクラスで、…

Linq入門記-90 (LINQ to XML, アノテーション, AddAnnotation, Annotation, RemoveAnnotations)

LINQ to XMLでのアノテーションについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、アノテーションについて. アノテーションとは、そのままの意味通り「注釈…

Linq入門記-86 (LINQ to XML, XPath, XPathSelectElements, XPathEvaluate)

LINQ to XMLでのXPathの利用について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、LINQ to XMLにてXPathを利用する方法についてです. 場合によっては、XPathを…

Linq入門記-87 (LINQ to XML, Tips, XElementとXAttributeをキャストして値取得)

過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、Tipsというかメモ書きみたいなものです。 XElementとXAttributeの値を取得するためにValueプロパティなどを利用す…

Linq入門記-85 (LINQ to XML, 並び順, InDocumentOrder)

LINQ to XMLでの並び順を整えるメソッドについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は、要素のコレクションをドキュメント内の並び順に合わせるInDocume…

Linq入門記-83 (LINQ to XML, ナビゲーション, ElementsAfterSelf, ElementsBeforeSelf)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は兄弟要素を取得するElementsAfterSelfとElementsBeforeSelf…

Linq入門記-84 (LINQ to XML, ナビゲーション, NodesAfterSelf, NodesBeforeSelf)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は兄弟ノードを取得するNodesAfterSelfとNodesBeforeSelfです…

Linq入門記-82 (LINQ to XML, ナビゲーション, DescendantNodes, DescendantNodesAndSelf)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は子孫ノードを取得するDescendantNodeメソッドと先祖要素を取…

Linq入門記-81 (LINQ to XML, ナビゲーション, DescendantsAndSelf, AncestorsAndSelf)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は子孫要素を取得するDescendantsAndSelfメソッドと先祖要素を…

Linq入門記-80 (LINQ to XML, ナビゲーション, Descendants, Ancestors)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回は子孫要素を取得するDescendantsメソッドと先祖要素を取得す…

Linq入門記-79 (LINQ to XML, ナビゲーション, Parent)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のParentプロパティ。 XObjectに所属するプロパティです。 XOb…

Linq入門記-78 (LINQ to XML, ナビゲーション, FirstNode, LastNode)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のFirstNodeとLastNodeはどちらもナビゲーションに関連するプ…

Linq入門記-77 (LINQ to XML, ナビゲーション, PreviousNode, NextNode)

LINQ to XMLでのナビゲーション系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のPreviousNodeとNextNodeはどちらもナビゲーションに関連する…

Linq入門記-76 (LINQ to XML, 空要素, IsEmpty, EmptySequence)

LINQ to XMLでの空要素系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のIsEmptyとEmptySequenceはどちらも空要素に関連するプロパティです。…

Linq入門記-75 (LINQ to XML, 前後存在確認, IsBefore, IsAfter)

LINQ to XMLでの前後存在確認系のメソッドについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のIsBeforeとIsAfterはどちらも存在を確認するために利用するプロ…

Linq入門記-74 (LINQ to XML, 存在確認, HasElements, HasAttributes)

LINQ to XMLでの存在確認系のプロパティについて. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 今回のHasElementsとHasAttributesはどちらも存在を確認するために利用す…

Linq入門記-73 (LINQ to XML, 名前空間, XElement.Name, XName, XNamespace)

LINQ to XMLでの名前空間について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XMLには、名前空間の概念があります。 少ししっかりした構造のXMLには、大抵名前空間が…

Linq入門記-72 (LINQ to XML, 属性の置換, ReplaceAttributes)

LINQ to XMLでの属性の置換について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、属性の置換を行うためのメソッドがいくつか存在します。 XElement.Repl…

Linq入門記-71 (LINQ to XML, 属性の削除, XAttribute.Remove, XElement.SetAttributeValue, XElement.RemoveAttributes)

LINQ to XMLでの属性の削除について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElement, XAttributeには、属性の削除を行うためのメソッドがいくつか存在します。 X…

Linq入門記-70 (LINQ to XML, 属性の更新, XAttribute.Value, XAttribute.SetValue, SetAttributeValue)

LINQ to XMLでの属性の更新について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、属性の更新を行うためのメソッドがいくつか存在します。 XAttribute.Va…

Linq入門記-69 (LINQ to XML, 属性の追加, Add, SetAttributeValue)

LINQ to XMLでの属性の追加について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、属性の追加を行うためのメソッドがいくつか存在します。 Add(object) S…

Linq入門記-68 (LINQ to XML, 属性の取得, FirstAttribute, LastAttribute, Attribute, Attributes)

LINQ to XMLでの属性の取得について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、属性の取得を行うためのメソッドがいくつか存在します。 FirstAttribut…

Linq入門記-67 (LINQ to XML, 要素の置換, ReplaceWith, ReplaceNodes, ReplaceAll)

LINQ to XMLでの要素の置換について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、要素の置換を行うためのメソッドがいくつか存在します。 ReplaceWith(o…

Linq入門記-66 (LINQ to XML, 要素の削除, Remove, RemoveAll, RemoveNodes, SetElementValue)

LINQ to XMLでの要素の削除について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、要素の削除を行うためのメソッドがいくつか存在します。 Remove() Remo…

Linq入門記-65 (LINQ to XML, 要素の更新, Value, SetValue, SetElementValue)

LINQ to XMLでの要素の更新について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、要素の更新を行うためのメソッドがいくつか存在します。 Value { get; …

Linq入門記-64 (LINQ to XML, 要素の追加, Add, AddAfterSelf, AddBeforeSelf, AddFirst)

LINQ to XMLでの要素の追加について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- XElementには、要素の追加を行うためのメソッドがいくつか存在します。 Add(object) A…

Linq入門記-63 (シーケンスを特定の数のチャンクに分割する方法, Chunk, 拡張メソッド, yield return, Any, Take, Skip)

stackoverflowにLinqを使って、特定のシーケンスを決まった数のチャンクに分割する コードがあったので、メモメモ。要素が多いシーケンスを相手にするときに便利です。 Split List into Sublists with LINQ http://stackoverflow.com/questions/419019/split…

Linq入門記-62 (LINQ Insight, Devart, free版とstandard版あり, LINQをその場で実行して結果が確認できる, LINQのデバッグ)

Devart社からリリースされている「LINQ Insight」についてのメモです。 LINQ Insight http://www.devart.com/linqinsight/ Visual Studio上で動作するLINQ用のツールです。 これを利用すると、LINQを記述している際に、実行せずともその場で結果を確認できま…

Linq入門記-61 (LINQ to XML, 要素のクローンとアタッチ)

LINQ to XMLにて新たにツリーに追加された要素の特徴 (クローンとアタッチ) について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- LINQ to XMLでは、新たに要素を作成…

Linq入門記-60 (LINQ to XML, 要素の取得, Elements)

LINQ to XMLにてクエリを利用して特定の要素を取得するサンプル. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- LINQ to XMLでは、LINQ to Objectsと同様にクエリを使用し…

Linq入門記-59 (LINQ to XML, XMLの出力, XMLファイルの作成, Save)

今回は、LINQ to XMLにてXMLの作成について。 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 要素を構築して、ファイルに出力するにはXDocumentかXElementの Saveメソッド…

Linq入門記-58 (LINQ to XML, XmlException, エラー時に発生する例外)

今回は、LINQ to XMLにてエラーが発生した場合にthrowされる例外について. 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- LINQ to XMLは内部でXmlReaderを利用しているの…

Linq入門記-57 (LINQ to XML, XElement, Load, ストリームを指定して読み込み)

今回は、ストリームを指定して読み込みを行うXElement.Loadメソッドについてメモ。 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- 文字列以外の方法で、読み込みを行う場…

Linq入門記-56 (LINQ to XML, XDocument, XElement, Load, URIを指定して読み込み)

今回は、URIを指定して読み込みを行うLoadメソッドについてメモ。 過去の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- サンプルコードは、まとめてCodePlexにアップしてます。 …

Linq入門記-55 (LINQ to XML, XDocument, XElement.ctor, 関数型構築)

今回は、LINQ to XMLの特徴の一つであるである関数型構築についてメモ。 以前の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- サンプルコードは、まとめてCodePlexにアップして…

Linq入門記-54 (LINQ to XML, XDocument, Parse, 文字列から構築)

すごく久しぶりのLinq入門記です。 今回から、LINQ to XMLについてメモしていこうと思ってます。 以前の内容は以下から見れます。よろしければご参照くださいませ。 Linq入門記 https://sites.google.com/site/gsfzero1/#TOC-Linq- サンプルコードは、まとめ…

Linq入門記-53 (補足, .NET 4.0で追加された遅延評価されるメソッド, System.IO.File.ReadLines)

今回も、ちょっとした補足事項です。 .NET 4.0になり、今まで存在していたメソッドの遅延評価版が追加されたクラスが いくつかあります。そのうちの一つが System.IO.File クラスで、以下のメソッドが追加されています。 ReadLines 上記のメソッドは、従来か…

Linq入門記-52 (補足, .NET 4.0で追加された遅延評価されるメソッド, EnumerateFiles, EnumerateDirectories, EnumerateFileSystemEntries)

今回は、ちょっとした補足事項です。 .NET 4.0になり、今まで存在していたメソッドの遅延評価版が追加されたクラスが いくつかあります。そのうちの一つが System.IO.Directory クラスで、以下のメソッドが追加されています。 EnumerateFiles EnumerateDirec…

Linq入門記-44 (LINQ To Object, Empty)

今回は、Emptyメソッドについてです。 Emptyメソッドは、文字通り空のシーケンスを返します。 メソッドの戻り値に使ったり、UnionやAggregateを行う際の中間値として よく利用したりします。 書式は以下の通り。 public static IEnumerable<TResult> Empty<TResult>() 以下、サ</tresult></tresult>…

Linq入門記-45 (LINQ To Object, Contains)

今回は、Containsメソッドについてです。 Containsメソッドは、指定された要素がシーケンス内に存在するか否かを返します。 List.Containsなどと同じですね。 書式は以下の通り。 public static bool Contains<TSource>( this IEnumerable<TSource> source, TSource value ) pu</tsource></tsource>…

Linq入門記-46 (LINQ To Object, Take, TakeWhile)

今回は、Take拡張メソッドとTakeWhile拡張メソッドについてです。 Take拡張メソッドは、指定された件数分シーケンスから要素を返します。 TakeWhile拡張メソッドは、指定された条件が満たされる間要素を返します。 Take拡張メソッドは、よくトップNを抽出す…

Linq入門記-47 (LINQ To Object, Skip, SkipWhile)

今回は、Skip拡張メソッドとSkipWhile拡張メソッドについてです。 TakeとTakeWhileが先頭から指定された分要素を返すのに対して、 こちらは指定された分要素をスキップしてくれます。 Skip拡張メソッドは、指定された件数分シーケンスの要素をスキップします…

Linq入門記-48 (LINQ To Object, First, Last, Single)

今回は、First拡張メソッドとLast拡張メソッド、それとSingle拡張メソッドについてです。 それぞれ、シーケンスの中から特定の一つを抽出してくれるメソッドです。 Firstは、最初の要素を返してくれます。 Lastは、最後の要素を返してくれます。 Singleは、F…

Linq入門記-49 (LINQ To Object, FirstOrDefault, LastOrDefault, SingleOrDefault, DefaultIfEmpty)

今回は、以下のメソッドについてです。 FirstOrDefault拡張メソッド LastOrDefault拡張メソッド SingleOrDefault拡張メソッド DefaultIfEmpty拡張メソッド DefaultIfEmpty拡張メソッド以外は、前回記述した First拡張メソッド Last拡張メソッド Single拡張メ…

Linq入門記-50 (LINQ To Object, ElementAt, ElementAtOrDefault)

今回は、ElementAt拡張メソッドとElementAtOrDefault拡張メソッドについてです。 どちらも、前回と前々回に記述したFirst,FirstOrDefault拡張メソッドなどと同じ動きをします。 ElementAtは指定されたインデックス位置の要素を返します。 ElementAtOrDefault…

Linq入門記-51 (LINQ To Object, SequenceEqual)

今回は、SequenceEqual拡張メソッドについてです。SequenceEqualは2つのシーケンスが等しいか否かを判別してくれます。 通常、シーケンス同士の比較というのはループで回して全部同じか否かを 確認するのが定石でしたが、これのおかげで一発でかけるようにな…

Linq入門記-41 (LINQ To Object, Range, Repeat)

今回は、RangeとRepeatメソッドについてです。 でも、実はこの2つのメソッドって書く事ありませんw 文字通りの動きをしてくれます。てことで、そのままサンプルへ。 書式は以下の通り。 public static IEnumerable<int> Range( int start, int count ) public st</int>…

Linq入門記-42 (LINQ To Object, Any)

今回は、Any拡張メソッドについてです。 Any拡張メソッドは、一つでも条件に合致するものが存在するか否かを判別するメソッドです。 量指定子演算子と呼ばれます。(他にも、All, Containsが存在します。) 特定の条件に合致する要素がシーケンス内に存在す…