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

IEnumerable<T> のランダムな要素を選択する

d.hatena.ne.jp 上の記事で紹介されている「要素全体をメモリに保持せずに、ランダムな要素を選択する」アルゴリズムが面白いです。 C# で書いてみました。 public static class Extensions { // source が空だったり、配列やリストの場合の対応は後述 publi…

インターフェース型の変数への代入と 3 項演算子を組み合わせるとコンパイルエラーになる

クラス A と、クラス B が IDisposable を実装しているとします。 そのときに、3 項演算子を用いて、以下のように書くことはできないようです。 class A : IDisposable { ... } class B : IDisposable { ... } // コンパイルエラーになる: There is no impli…