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

foreach ループをインデックス付きでまわす

using System; using System.Collections.Generic; using System.Linq; class Program { static IEnumerable<string> Three() { yield return "one"; yield return "two"; yield return "three"; } static void Main() { var xs = new[] { 4, 23, 9, -12 }; foreach </string>…

Scala の sliding メソッドを作成してみる

Scala には、sliding メソッドというのがあります。これを C# で実装してみました。 using System; using System.Collections.Generic; using System.Linq; static class Ext { public static IEnumerable<T[]> Sliding<T>(this IEnumerable<T> src, int size, int step</t></t></t[]>…

ネストしたループから抜ける

goto 文の練習。 using System; class Program { static void Main() { Console.WriteLine("BEGIN"); for (int i = 0; i < 10; i++) { for (int j = 0; j < 5; j++) { Console.WriteLine("i:{0} j:{1}", i, j); if (j == 2) { goto END; } } } END: Console.…

UTC とローカル時刻を表示する

using System; class Program { static void Main() { var utc = DateTime.UtcNow; var now = DateTime.Now; Console.WriteLine("utc now : {0}", utc); Console.WriteLine("utc now -> local : {0}", utc.ToLocalTime()); Console.WriteLine(" now : {0}", …

何度も実行される箇所で Linq を使うことによるパフォーマンスの影響

Project Euler 23 を解いていて、Linq 使用の有無で速度差が出たのでメモ。 約数の和を求める SumProperDivisors メソッドで Linq を使う場合と、Linq を使わずに for 文で計算する場合とでどれくらい速度に差が出るか計測してみました。 using System; usin…

ファイル名から拡張子を取り除く

Path.GetFileNameWithoutExtension メソッドを使うと、パス名から拡張子を取り除いたファイル名を取得することが出来ます。 using System; using System.IO; class Program { static void Main() { var ss = new[] { "name.txt", "name", "foo/name.txt", "/…