タグ

2016年11月9日のブックマーク (10件)

  • ラムダ式(C# によるプログラミング入門)

    概要 Ver. 3.0 ラムダ式(lambda expression)と言うのは、 関数型言語と呼ばれるような種類のプログラミング言語における用語なのですが、 関数(メソッド)を整数などの変数と全く同列に扱う手法のことです。 C# 3.0 で導入されたラムダ式は、 以下のようなものだと思ってください。 「デリゲート」に対して代入すると、「匿名メソッド式」と同じ扱いになる。 Expression 型の変数に代入すると、式木(expression tree)データになる。 ポイント C# 3.0 で導入されたラムダ式には、2通りの意味があります。 匿名メソッドを 2.0 の頃の記法より簡単に書ける。 上述の匿名メソッドと同じ記法で式木を作れる。 例:Func<int, int> square = x => x * x; 匿名メソッドの記法の簡略化 まず、1つ目。 ラムダ式は、 C# 2.0 の

    ラムダ式(C# によるプログラミング入門)
  • C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~

    Hokuriku.NET C# 勉強会「C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~」 https://atnd.org/events/57085 で使用した資料に加筆 1. LINQ to Objects 復習 2. IQueryable&lt;t> 3. 式木 (Expression Tree) 4. 式木メタ プログラミング 5. LINQ プロバイダーRead less

    C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
  • [C#] ネストした using 句でも、 ネストを深くしない方法 - biac の それさえもおそらくは幸せな日々@nifty

    Microsoft Connect Feedback ID = 349656 より。 ディスカッション欄で Azulean 氏が答えておられるのですが、 using 句はこんな風に書いても OK だったんですね~ f(^^; # 知りませんでした… orz using (TextReader tr = new StreamReader("hoge.txt")) using (TextWriter tw = new StreamWriter("moge.txt")) { string line = tr.ReadLine(); tw.WriteLine(line); } このように書いてから、 Visual Studio の自動フォーマットを掛けても、 インデントは変わりませんでした。 つまり、 using 句を何重にネストさせようとも、 インデントは 1ネスト分で済むわけですね。 (^^;

    [C#] ネストした using 句でも、 ネストを深くしない方法 - biac の それさえもおそらくは幸せな日々@nifty
    teracy_junk
    teracy_junk 2016/11/09
    『ステートメントとして using 句を書くことは、 禁止されていません』
  • 【C#の定数】const と readonly、static readonly の使い分け - Qiita

    constフィールドは、コンパイル時定数の扱い。(MSDN) 変数のように扱える定数(暗黙的 static) 宣言時にのみ初期化可能(コンパイル時に値が埋め込まれる) readonly より実行速度が速い switch文やデフォルト引数に使える インスタンスを new した結果は割り当てられない(C#の組み込み型のみ) ※注意 コンパイル時に決定されてしまうため、クラスライブラリなどでpublicなconst定数を定義しそれをアセンブリをまたいで参照してしまった場合、将来ライブラリ側の定数を変更しても参照されたアセンブリ側をコンパイルしなおさない限り更新されないという問題がある(constのバージョニング問題) readonlyフィールドは、実行時定数の扱い。(MSDN) 実際は、読み取り専用の代入不可な変数 宣言時の他に、コンストラクタ内でも初期化可能 定数であるconstよりは、僅かに

    【C#の定数】const と readonly、static readonly の使い分け - Qiita
  • C#コーディング規約の個人的なまとめ

    コーディング規約は非常に色々なものが提案されているが、その色々なものを見て来た中で、かなり自分勝手な方向でまとめてみる。 はじめに コーディング規約というのは、さまざまな団体で独自に定められており、時にはそれが競合することもあろうかと思う。特にC++のプレフィックス関連が顕著だと思う。それに比べて、C#は割りと落ち着いたコーディング規約が根付いているのか、私の短いプログラミング人生の中で、そこまで読みにくいと思ったコードを見たことがない。これは、C#の言語構造やVisualStudioの自動整形も関係しているのかもしれないが。 というわけで、厳格なコーディング規約を設けずとも、それなりに読めてしまうC#でも、やはり規約を定めて、より読みやすく、統一性を持たせたコードを生産することは、非常に有意義なことだと考える。 代表的な記法 C#の命名規約についてを参考にしてほしい。一部を抜粋しておく。

    C#コーディング規約の個人的なまとめ
  • [C#] char から int に変換 – T's Soft

    teracy_junk
    teracy_junk 2016/11/09
    もちっとスマートな方法ないのかな
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • 会社のマシンで、社用とプライベートのgitアカウントを使い分けたい - Qiita

    やりたいこと プライベートで使ってるgitのリモートリポジトリ(github)に、自分のアカウントでコミット・プッシュしたい (会社の名前を一切出さないようにする) やること(会社のマシンで設定) プライベート用のssh鍵を作成し、リモートリポジトリに登録 ~/.ssh/config にhost設定を追記 上記設定後、必要なリポジトリで個別に設定を行う 1. プライベート用のssh鍵を作成し、リモートリポジトリに登録 プライベート専用のssh鍵を作成 // sshディレクトリに移動 $cd ~/.ssh // ssh鍵生成 $ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):

    会社のマシンで、社用とプライベートのgitアカウントを使い分けたい - Qiita
  • RxJava2.0 Observable, Single, Maybe, Completableの使い分けメモ - Qiita

    RxJava2.0 Observable, Single, Maybe, Completableの使い分けメモJavaAndroidRxJavaRxJava2 概要 RxJava2.0でObservableに似たFlowableやMaybeが追加されました。 またSingleやCompletableも以前から存在します。 つまりObservable, Flowable, Single, Maybe, Completableが存在します。 これらはObservableのように、item(Javaのインスタンスなど)をemit(排出)します。 使い分けを行うことで、使う側のObserver(Subscriber)で考えることを減らすことができます。 それぞれどのような特徴があり、どのように使い分けるかを見ていきます。 FlowableはBackpressureに関するもので少しジャンルが違うの

    RxJava2.0 Observable, Single, Maybe, Completableの使い分けメモ - Qiita
  • C#の拡張メソッドの使い方 - Qiita

    新規の派生型の作成、再コンパイル、または元の型の変更を行うことなく既存の型にメソッドを "追加" できます。 拡張メソッドは特別な種類の静的メソッドですが、拡張された型のインスタンス メソッドのように呼び出します。 拡張メソッド (C# プログラミング ガイド) 拡張メソッドを使用すると既存の型に変更を加えることはなく型にメソッドを追加できるとのこと。 拡張された型のインスタンスメソッドのように呼び出せるのでわざわざ引数に渡さなくて良くて楽。 使う 例えばstringに"Hoge"と加えた文字列を返す拡張関数を作るとすると以下のようになる public static class MyStringExtensions { public static string AddHoge(this string str) { return str + "Hoge"; } }

    C#の拡張メソッドの使い方 - Qiita