Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

C#

LINQPadでユニットテストを書くには?

サマリー LINQPadはv.6.9からxUnitをサポートしていて、ユニットテストが書けます。 https://www.linqpad.net/LINQPad6.aspx You can now add xunit test support to your query via new option on the Query menu. This adds the required references, a ru…

【.NET】指定した文字で桁埋めできる値を表すFormattableValueクラスを書いてみた

概要 指定した文字で桁埋めできる値を表すFormattableValueクラスを書いてみました。

【C#】 数値の変数をvarで宣言した場合の型の違い

C#で、数値の変数をvarで宣言した場合の型の違いを確認してみました。

【.NET】IEnumerable<T>.ToArrayとToListの速度を比べてみた

IEnumerable.ToArrayとToListの速度を比べてみました。

【.NET】HashSet<T>に拡張メソッドでAsReadOnly<T>を実装する

前回、HashSetに拡張メソッドで、AddRangeを実装しました。blog.jhashimoto.net今回は、同様にAsReadOnly<T>を実装してみました。</t>

【.NET】HashSet<T>に拡張メソッドでAddRangeを実装する

List<T>にはAddRangeがありますが、なぜかHashSet<T>にはありません。拡張メソッドで実装してみました。 HashSetExtensions.cs using System; using System.Collections.Generic; namespace Extensions { public static class HashSetExtensions { /// <summary> /// 指定し</summary></t></t>…

【.NET】String.Formatで "{" と "}" を出力する

String.Formatで "{" と "}" を出力するには、"{" または "}" を2つ続けて記述します。

【.NET】指定された文字列を文字列の末尾から削除する拡張メソッドString.TrimEnd

前回、TrimStartのオーバーロードを書いたので、今回はTrimEndのオーバーロードを書きたいと思います。blog.jhashimoto.net

【.NET】指定された文字列を文字列の先頭から削除する拡張メソッドString.TrimStart

String.TrimStartは、引数がcharです。Stringが引数のオーバーロードを書いてみました。

【.NET】IEnumerable<T>をCollectionに変換する拡張メソッドToCollection

ToListがあるなら、ToCollectionがあってもいいと思い、書いてみました。

【C#】任意のXMLを読み込めるクラスXmlLoaderをつくってみた

この記事は、C# Advent Calendarの22日目です。qiita.com任意のXMLを読み込めるクラスXmlLoaderをつくってみました。

【C#6.0の新機能】Auto-property initializers

Visual Studio 2015 Previewのマシンイメージを使って、Azure仮想マシンを立てたので、C#6.0の新機能を試してみます。今回は、Auto-property initializersです。

「CLR/H in Tokyo 第3回 」に行ってきた(「C#や.NET Frameworkがやっていること」by 岩永信之さん)

6/28に「CLR/H in Tokyo 第3回」の勉強会に行ってきました。CLR/H in Tokyo 第3回 - connpass 岩永信之さんのセッション「C#や.NET Frameworkがやっていること」で、メモしたことを書いておきます。

「めとべや東京 #4」に行ってきた(その3「The Next Generation for C# Developers」by Microsoft MVP tanaka733さん)

5/31に「めとべや東京 #4」に行ってきたので、何度かに分けて勉強会の内容を紹介します。 めとべや東京#4de:code 直後ということで、クライアントサイトテクノロジを中心に最新情報をいち早くまとめて聞いて見ませんか? ... 今回は3回目です。3つ目のセッ…

checkedキーワードとuncheckedキーワード

C#でcheckedキーワードとuncheckedキーワードというものを知りました。 checkedキーワード、uncheckedキーワードとは? MSDNから引用します。 checked (C#)checked キーワードは、整数型の算術演算および変換に対してオーバーフロー チェックを明示的に有効…

IEnumerable.GroupJoinメソッド

Enumerable.GroupJoin(TOuter, TInner, TKey, TResult) メソッド (IEnumerable(TOuter), IEnumerable(TInner), Func(TOuter, TKey), Func(TInner, TKey), Func(TOuter, IEnumerable(TInner), TResult)) (System.Linq)キーが等しいかどうかに基づいて 2 つの…

IEnumerable.SelectManyメソッド

Enumerable.SelectMany(TSource, TResult) メソッド (IEnumerable(TSource), Func(TSource, IEnumerable(TResult))) (System.Linq)シーケンスの各要素を IEnumerable に射影し、結果のシーケンスを 1 つのシーケンスに平坦化します。 ソースコード using Sys…

C#でWordファイルをPDFに変換する

検証環境 Visual Studio 2008 SP1、.NET Framework 3.5、Word 2007、Office 2007 SP2 プロジェクトの作成 プロジェクトテンプレートはコンソールアプリケーションを選択します。 参照の追加 [COM] - [Microsoft Word 12.0 Object Library]への参照を追加しま…

IEnumerable.Whereメソッド

Enumerable.Where(TSource) メソッド (IEnumerable(TSource), Func(TSource, Boolean)) (System.Linq)述語に基づいて値のシーケンスをフィルター処理します。 SQLでは、WHEREに相当します。 ソースコード using System; using System.Collections.Generic; u…

C#のソースコードをJavaに変換できるサイト「CodePorting C#2Java」

※サイトは閉鎖されてしまったようです(2013/10/17追記)C#のソースコードをJavaに変換できるサイト「CodePorting C#2Java」を紹介します。 Free Source Code Converter - Convert .NET Applications to Java クリックするとサインインページが表示されます…

IEnumerable.Unionメソッド

Enumerable.Union(TSource) メソッド (IEnumerable(TSource), IEnumerable(TSource)) (System.Linq)既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。 SQLでは、UNIONに相当します。 ソースコード using System; using System.Collection…

IEnumerable.ToLookupメソッド

Enumerable.ToLookup(TSource, TKey) メソッド (IEnumerable(TSource), Func(TSource, TKey)) (System.Linq)指定されたキー セレクター関数に従って、IEnumerable から Lookup を作成します。 ソースコード using System; using System.Collections.Generic;…

IEnumerable.ToListメソッド

Enumerable.ToList(TSource) メソッド (System.Linq)IEnumerable から List を作成します。 ソースコード using System; using System.Collections.Generic; using System.Linq; namespace LinqSample { class Program { static void Main(string[] args) { …

IEnumerable.ToDictionaryメソッド

Enumerable.ToDictionary(TSource, TKey) メソッド (IEnumerable(TSource), Func(TSource, TKey)) (System.Linq)指定されたキー セレクター関数に従って、IEnumerable から Dictionary を作成します。 ソースコード using System; using System.Collections.…

IEnumerable.Joinメソッド

Enumerable.Join(TOuter, TInner, TKey, TResult) メソッド (IEnumerable(TOuter), IEnumerable(TInner), Func(TOuter, TKey), Func(TInner, TKey), Func(TOuter, TInner, TResult)) (System.Linq)一致するキーに基づいて 2 つのシーケンスの要素を相互に関…

IEnumerable.ToArrayメソッド

Enumerable.ToArray(TSource) メソッド (System.Linq)IEnumerable から配列を作成します。 ソースコード using System; using System.Linq; namespace LinqSample { class Program { static void Main(string[] args) { Man[] mans = new Man[] { new Man() …

IEnumerable.ThenByDescendingメソッド

Enumerable.ThenByDescending(TSource, TKey) メソッド (IOrderedEnumerable(TSource), Func(TSource, TKey)) (System.Linq)キーに従って、シーケンス内の後続の要素を降順で配置します。 SQLでは、ORDER BYの2つ目以降の列の降順指定に相当します。 ソース…

IEnumerable.ThenByメソッド

Enumerable.ThenBy(TSource, TKey) メソッド (IOrderedEnumerable(TSource), Func(TSource, TKey)) (System.Linq)キーに従って、シーケンス内の後続の要素を昇順で配置します。 SQLでは、ORDER BYの2つ目以降の列の昇順指定に相当します。 ソースコード usi…

IEnumerable.TakeWhileメソッド

Enumerable.TakeWhile(TSource) メソッド (IEnumerable(TSource), Func(TSource, Boolean)) (System.Linq)指定された条件が満たされる限り、シーケンスから要素を返します。 ソースコード using System; using System.Linq; namespace LinqSample { class Pr…

IEnumerable.Takeメソッド

Enumerable.Take(TSource) メソッド (System.Linq)シーケンスの先頭から、指定された数の連続する要素を返します。 ... SQLでは、TOP nに相当します。 ソースコード using System; using System.Linq; namespace LinqSample { class Program { static void M…