タグ

ブックマーク / qiita.com/taiga_takahari (2)

  • Randomクラスの仕様が.NET Core 2.0で変わっていた話 - Qiita

    C#で乱数を取得するのによく使用するRandomクラスについての話です。 これまでのRandomクラス 試しに以下のコードを.NET Frameworkや.NET Core 1.x系、Monoで実行すると(タイミングにもよりますが)全部同じ値が出力されると思います。 for (var i = 0; i < 10; i ++) { Console.WriteLine(new Random().Next()); } これは結構有名な話でRandomクラスは引数なしのコンストラクタでインスタンス化すると、内部で使用する乱数を生成するためのシード値にEnvironment.TickCount(OSが起動してからの時間)を使用するので、ミリ秒未満でインスタンスが複数生成されると同一のシード値になって生成される乱数も同じになってしまうという現象です。 シングルスレッドで動くアプリケーションなら同時にR

    Randomクラスの仕様が.NET Core 2.0で変わっていた話 - Qiita
    masaru_b_cl
    masaru_b_cl 2018/01/29
    コメントも大事
  • ADO.NETの処理を診断するAdoNetProfiler - Qiita

    この記事はC# Advent Calendar 2016の3日目の記事です。 今回は1年くらい前に作ったライブラリについて書いていきます。(記事を書くにあたって1年近くアップデートしていなかったものを急遽アップデート入れたのは秘密です。) AdoNetProfilerとは ADO.NETDBに対して通信が発生する各処理で診断を行えるようにしたライブラリです。 パッケージはNuGetに公開済みでコードはGithub上で公開しています。 NuGet - AdoNetProfiler Github - ttakahari/AdoNetProfiler System.Data.Common名前空間を各クラスをラップした作りになっています。 現在対応しているターゲットのフレームワークは以下の通りです。 .NET Framework 4.6 以降 .NET Standard 1.6 以降 それMin

    ADO.NETの処理を診断するAdoNetProfiler - Qiita
    masaru_b_cl
    masaru_b_cl 2016/12/13
    あら素敵
  • 1