タグ

c#に関するkkotyyのブックマーク (55)

  • 技術解説 – LINQ – kekyoの丼

    LINQとは、「Language INtegrated Query」の略で、C#やVB.netのソースコード中に、SQL「のような」クエリ構文を記述する事で、複雑なデータ操作を簡単に実現できる構文とライブラリのセットの事です。 実際にはクエリ構文で書く必要は無い(メソッド呼び出しの組み合わせでも実現可能)で、更にメモリ上のデータ操作だけではなく、SQL Serverなどのリモートデータシステムに対しても、同じ構文で直接操作が可能になります。プリプロセッサタイプの埋め込み技術(例:Pro*C)と異なり、コンパイラが構文を直接解釈する事による、様々なメリットを享受できます。 オンメモリで動作する、一番基礎となるLINQを特に「LINQ to Objects」と呼びます。 // 指定された個数の乱数を生成する public IEnumerable<int> GenerateRandomNumbe

    技術解説 – LINQ – kekyoの丼
  • Entity Framework カテゴリーの記事一覧 - インクリメンタルなカイハツにっき

    Entity Framework で Code First Migrations の利用方法を紹介。ナビゲーションプロパティとは?ナビゲーションプロパティを設定することにより、Joinを利用することなく、関連するテーブルデータの取得が可能になります。また外部キーの設定が自動で行われ…

    Entity Framework カテゴリーの記事一覧 - インクリメンタルなカイハツにっき
    kkotyy
    kkotyy 2016/01/28
    このシリーズはめっちゃ参考になって助かりました。
  • 【雑記】弱参照 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 ガベージ コレクションに関連して、弱参照というものがあります。 めったに使うものではありませんが、使い方・使い道を説明します。 サンプル https://github.com/ufcpp/UfcppSample/tree/master/Chapters/Resource/WeakReference 弱参照とは 「ガベージ コレクション」(以下、GC)では、「他のオブジェクトから参照されているものは生きてる、誰からも参照されていないものはもう不要」という判定方法で、 不要なオブジェクトを削除します。 逆に言うと、誰か1つでも参照を持っているオブジェクトは削除されません。 一方で、「オブジェクトを使いたいんだけども、GC 的には参照していることにしないでほしい」、 「自分以外が全員参照を手放したらその時点で削除対象にしてほしい」というような要件がまれにあります。 こういう、GC の参照探

    【雑記】弱参照 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
  • .NET Native

    .NET Nativeとかいうものが公開された模様。.NET言語(さしあたってはC#のみがサポート対象)からNativeコードを直接作る仕組み。 公式ページ: Microsoft .NET Native MSDN Library 内のヘルプ: http://msdn.microsoft.com/en-us/library/dn584397.aspx 去年の暮ぐらいから噂にはなっていたもの。//build/ の初日キーノートでは出てこなかった(初日は OS 関連。WP8.1とかの話題)ので公開明日かと思ったらもう。 概要 以下のようなもの。 WP8が使ってるMDILに基いた技術 クライアントデバイスには完全にネイティブ化した状態で配布 クライアント上で余計な電力消費しないし、初回起動も早い 当面のターゲットはストアアプリのみ。ただし、ターゲットは今後広げていきたい 前にプロ生勉強会で話した通

    .NET Native
    kkotyy
    kkotyy 2014/04/03
    "iOSとかAndroid向けバイナリも作れると夢広がる。" おおおー、確かに。
  • Livet で Messenger を使ってみる(その参) - 周回遅れのブルース

    日はさらに踏み込んで、Livet が提供するメッセージングアクションのうち InformationDialogInteractionMessageAction ConfirmationDialogInteractionMessageAction OpenFileDialogInteractionMessageAction SaveFileDialogInteractionMessageAction の四つを試してみたいと思います。これらのアクションを使えば、コードを一切書かずに確認ダイアログやファイル選択ダイアログを使うことも可能になります。 え? ViewModel のコマンドでダイアログ使えばいいじゃんって? 確かにそうなんですが、View にこれらのダイアログを表示する責任を押し付ける*1ことで、ViewModel の単体テストが可能になるというメリットがあります。 ソースのコメン

    Livet で Messenger を使ってみる(その参) - 周回遅れのブルース
  • 広がる .NET Framework 互換環境

    クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...Kazuhiro Hara

    広がる .NET Framework 互換環境
    kkotyy
    kkotyy 2013/06/10
    monoって実用できるってことなんかな。後半の依存切りの話は.NETに限った話ではなく、勉強になります。
  • 避けて通れない「非同期処理」を克服しよう(1/3) - @IT

    Silverlightアプリを開発するうえで、避けたくても避けて通れないのが「非同期処理」だ。ネットワークへのアクセスなど、時間がかかる処理は非同期版のAPIしか提供されていない*1。 *1 さらにいうと、(Windows 8向けの)Metroスタイル・アプリ開発ではこの傾向がより強くなる。ネットワークどころか、ローカルのストレージへのアクセスですら、非同期APIのみとなっている。 「非同期(asynchrony)」という言葉は、「ある処理の実行中に、別の処理を止めない」という意味である。SilverlightアプリなどのGUIアプリで特に重要なのは、重たい処理をするときに、UIスレッド(=エンド・ユーザーからの入力を受け付けたり、UIを描画したりするスレッド)を止めないことだ。つまり、重たい処理は非同期に行わねばならない。 そこで今回は、.NETにおける非同期処理の書き方を、いくつかのフ

  • Find all child controls of specific type using Enumerable.OfType<T>() or LINQ

    kkotyy
    kkotyy 2012/07/30
    Control.Controlsを再帰的に列挙する拡張メソッド。SelectManyってこう使うのか。
  • 深夜のasync/await談義

    C# の新しい機能である、async/awaitがよくわからんかったので、識者の方に教えてもらってました。

    深夜のasync/await談義
  • https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/487csvparser/csvparser.html

    kkotyy
    kkotyy 2012/04/14
    存在を知らなかった。これはいい。
  • 31日間ReSharper一周 | matarillo.com

    2013-07-11 10:17:13 Joe White’s Blogに“The 31 Days of ReSharper”という記事群がポストされていて面白かったので翻訳してみた。 ReSharperとは、JetBrains社(IntelliJ IDEAというJavaの開発環境を販売している会社)がリリースしたVisual Studioアドインで、基的にC#用の開発環境。 なお、元記事は2007年に書かれたもので、その時点ではReSharperのバージョンは2.5系であることに注意。 (2013/7/11追記)ReSharperのバージョン8から、C++がサポートされるようになる。(なので、「ReSharperはC++には対して役立たない」はもう正しくなくなる。)詳細はJetBrains社のブログで確認してほしい。 31日間ReSharper一周 ReSharperは、(VS 200

    kkotyy
    kkotyy 2012/03/06
    おお、これを見て勉強しよう。
  • UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    UWP を Continuum に完全対応させるには? - 高橋 忍のブログ - MSDN Blogs
    kkotyy
    kkotyy 2012/02/09
    あとで
  • neue cc - Rx + MolesによるC#での次世代非同期モックテスト考察

    最近、妙にテストブームです。Chaining Assertionを作ったからですね。ライブラリドリブンデベロップメント。とりあえずでも何か作って公開すると、その分野への情報収集熱に火がつくよね。そしてテスト厨へ。さて、ユニットテストで次に考えるべきは、モックの活用。C#でモックといえばMoqが評価高い。メソッドチェーンとExpression Treeを活かしたモック生成は、なるほど、良さそうです。読み方も可愛いしね。もっきゅ。もっきゅ。 というわけでスルーして(えー)Molesを使いましょう。Microsoft Research謹製のモックフレームワークです。PexとのセットはMSDN Subscriptionが必要ですが、MolesのみならばFreeです。VS Galleryに置かれているので、VSの拡張機能マネージャーからでも検索に引っかかります。 Moles。Pex and Mole

    kkotyy
    kkotyy 2012/02/03
    "Molesの存在を前提とすると、テスト可能にするための設計方法にも、かなりの変化が生じるのは間違いない" うーむ、確かに。。。
  • 方法: リフレクションを使用してデリゲートをフックする - .NET

    リフレクションを使用して、アセンブリを読み込んで実行する場合、C# の += 演算子や Visual Basic の AddHandler ステートメントのような言語機能を使用してイベントをフックすることはできません。 次の手順では、必要なすべての型をリフレクションによって取得することで、既存のメソッドをイベントにフックする方法と、リフレクション出力を使用して動的メソッドを作成し、それをイベントにフックする方法を示します。 リフレクションを使用してデリゲートをフックするには イベントを発生させる型を格納するアセンブリを読み込みます。 通常、アセンブリは Assembly.Load メソッドで読み込まれます。 この例を簡単にするために、現在のアセンブリの派生フォームを使用します。したがって、GetExecutingAssembly メソッドを使用して、現在のアセンブリを読み込みます。 Ass

    方法: リフレクションを使用してデリゲートをフックする - .NET
    kkotyy
    kkotyy 2012/01/25
    こちらもメモ
  • Delegate.CreateDelegate メソッド (System)

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Delegate.CreateDelegate メソッド (System)
    kkotyy
    kkotyy 2012/01/25
    インスタンスメソッドをdelegateに登録する場合は、このオーバーロード。firstArgumentには登録したいメソッドのインスタンスを指定。
  • イベント・プログラミングとRx(1/3) - @IT

    連載の第1回では、Reactive Extensions(以降、Rx)の概要とインストール方法を解説した。今回からは具体的な使い方を見ていこう。 まずはRxを利用する際の基的な流れを見ていく。次に、Rxの持つ代表的な2つの性質であるイベントと非同期のうち、イベントを中心的に取り上げる。 ●基的な記述方法 最初に、シンプルなRx(Observableオブジェクト)のコードと、foreach文(Enumerableオブジェクト)のコードの対比を見てみよう。 using System.Linq; using System.Reactive.Linq; // Observableオブジェクト(Rxのコード) Observable.Range(1, 5) .Subscribe(x => Console.WriteLine(x)); // Enumerableオブジェクト foreach (va

  • Reactive Extensions

    Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Data sequences can take many forms, such as a stream of data from a file or web service, web services requests, system notifications, or a series of events such as user input. Reactive Extensions represents all these data sequences as observable seque

    Reactive Extensions
  • neue cc - Modern C# Programming Style Guide

    C# Advent Calendar 2011、ということで、C# 4.0時代のプログラミングスタイルについて説明してみます。モダン、というけれど、某書のように変態的なことじゃなくて、むしろ基的な話のほうです。こういったものはナマモノなので、5.0になればまた変わる、6.0になればまた変わる。変わります。古い話を間に受けすぎないこと(歴史を知るのは大事だけど、そのまま信じるのは別の話)、常に知識をリフレッシュするようにすること。そういうのが大事よね。でも、だからってモダンに書けなきゃダメ!なんてことはありません。ただ、知ること、少しずつ変えていくこと、そういうのは大事よね、って。 ところでしかし、私の主観がかなり入っているので、その辺は差っ引いてください。 varを使う C# 3.0から搭載された型推論での宣言。出た当初には散々議論があって、今もたまに否の意見が出てきたりもしますが、va

  • 2007-05-09

    コンピュータサイエンス学科卒業生の過半数は1から100までの数をプリントするプログラムを書けない http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm via オレンジニュース 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 danさんとこ http://blog.livedoor.jp/dankogai/archives/50826507.html あなごる FizzBuzz http://golf.shinh.org/p.rb?FizzBuzz やべぇ、125byteから縮まらないんだけど。ってそういうことじゃないか。 それはそれと

    2007-05-09
    kkotyy
    kkotyy 2011/11/15
    おおー、MakeGenericType は知りませんでした。型引数はコンパイル時に決めなきゃいけないもんだと思ってた。これは世界が広がる!!!!
  • C# 3.0(以降)で自動プロパティにブレークポイントを設定する - 閑古鳥

    C# 3.0から自動プロパティが実装され、フィールドの定義を省略できるようになりました。これはとても便利なのですが、getter/setterを書かないため、ブレークポイントが張れないという問題がありました。 通常のプロパティでは下図のようにget/set内でブレークポイントを設定すると、プロパティが参照された時にプログラムの実行を中断することができます。 しかし、自動プロパティでは同様のことができません(と思っていました。ググっても出てこないし)。 まあいざとなれば必要なときだけフィールド追加すればいいか……と思っていたのですが、暇だったので実験してみたら関数ブレークポイントでならちゃんと止まる事がわかりました。関数ブレークポイントはメインメニューの[デバッグ]-[ブレークポイントの作成]-[関数でブレーク]もしくはブレークポイントウィンドウの[新規作成]ボタンで追加することができます。

    C# 3.0(以降)で自動プロパティにブレークポイントを設定する - 閑古鳥
    kkotyy
    kkotyy 2011/11/09