yotiky Tech Blog

とあるエンジニアの備忘録

2023-12-01から1ヶ月間の記事一覧

C# - XElement / XDocument の使い方

learn.microsoft.com learn.microsoft.com 目次 目次 検証環境 XElement の使い方 読み込み 保存 XDocument の使い方 XMLツリーの構築 検証環境 LINQPad 7 .NET 7.0 XElement の使い方 サンプルで扱う PurchaseOrder.xml。 <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address Type="Shipping"> <Name>Ellen Adams</name></address></purchaseorder>

C# - XmlSerializerの使い方

learn.microsoft.com 適用対象は、.NET Framework 1.1 以降。 目次 目次 検証環境 XmlSerializer の使い方 ファイルの読み書き 文字列の読み書き 属性 XmlRoot / XmlType XmlElement XmlAttribute XmlIgnore XmlEnum XmlText XmlArray / XmlArrayItem 子要素…

LINQPad - 便利機能

目次 目次 検証環境 パス Util Highlight / Highlightif Dif Snapshot HorizontalRun / VerticalRun Pivot Merge Image RawHtml WithStyle HtmlHead InvokeScript DisplayWebPage ToCsvString WriteCsv SyntaxColorText ReadLine AutoScrollResults SaveStri…

LINQPad - Dumpメソッドの拡張

定義 static class DumpExtensions { public static void DumpExH1(this string value) => DumpWrappedWithTags(value, "h1"); public static void DumpExH2(this string value) => DumpWrappedWithTags(value, "h2"); public static void DumpExH3(this str…

LINQPad - 拡張メソッド(My Extensions相当)をファイル分割して管理する

TL;DR My Extensionsファイルに拡張メソッドを実装するとどこからでも使える拡張メソッドを定義できる ファイルのコードが増えても、My Extensions ファイル以外では定義することができない そこで Plugins を利用して、ファイルを分割して拡張メソッドを管…

LINQPad - 出力結果を調整する

目次 目次 Dump description depth toDataGrid exclude / include alpha noTotals repeatHeadersAt includePrivate Util 参考 Dump サンプルデータ。 class Team { private Guid Id { get; set; } = Guid.NewGuid(); public string Name { get; set; } publi…

C# - 相対パスでオブジェクト参照を辿るツリー構造のサンプル

ツリー構造を成すクラスの親クラス。 public abstract class Node { protected const string Slash = "/"; [XmlIgnore] public Node Parent { get; set; } public Node GetReferencedNode(string referencePath) { var path = referencePath; var target = t…

XML のサンプル「PurchaseOrder.xml」

引用元 learn.microsoft.com PurchaseOrder.xml <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address Type="Shipping"> <Name>Ellen Adams</Name> <Street>123 Maple Street</Street> <City>Mill Valley</City> <State>CA</State> <Zip>10999</Zip> <Country>USA</Country> <…</address></purchaseorder>

C# - XmlWriter の使い方

learn.microsoft.com 適用対象は、.NET Framework 1.1 以降。 目次 目次 検証環境 XmlWriter の使い方 ファイルに書き込む string に書き込む 基本のキ 文字列をファイルに書き込む 参考 検証環境 LINQPad 7 .NET 7.0 XmlWriter の使い方 ファイルに書き込む…

C# - XmlReader の使い方

learn.microsoft.com 適用対象は、.NET Framework 1.1 以降。 目次 目次 検証環境 XmlReader の使い方 ファイルから読み込む 文字列から読み込む 検証環境 LINQPad 7 .NET 7.0 XmlReader の使い方 基本的な要素の取り扱い。 private void WriteConsole(XmlRe…

Visual Studio - 拡張機能「File Differ」で差分表示する

目次 目次 概要 インストール 機能 ソリューションエクスプローラー コードエディター 概要 Visual Studio の拡張機能「File Differ」。 Visual Studio でちょっとした差分を手軽に取れるので便利。 作者は、Visual Studio teamの中の人っぽい。 marketplace…

LINQPad - 外部ファイル(cs)を参照する

目次 目次 load ディレクティブ クエリを参照する 非参照 csファイルを参照する load ディレクティブ #load ディレクティブを使うと、外部のファイルを参照することができる。 主な利用用途は保存しておいた .linqファイルを参照することだが、.csファイルも…

C# - XMLを扱う

目次 目次 本文 .NETでXMLを扱うためのテクノロジー概要 構造(DOM) XMLの読み書き 操作 シリアライズ/デシリアライズ その他参考 本文 .NETでXMLを扱うためのテクノロジー概要 XML の処理オプション - .NET | Microsoft Learn XML ドキュメントと XML デー…