タグ

c#に関するnitoyonのブックマーク (51)

  • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

    はじめに 登壇版 Taskの質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

    【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
    nitoyon
    nitoyon 2023/05/28
  • C# 6.0で知っておくべき12の新機能

    Visual Studio 2015正式版のリリースで利用可能になったC#言語の最新バージョン「6.0」の新機能を解説する。CTP 5→正式版に合わせて改訂。 連載 INDEX 次回 → 「C# 6.0」と呼ばれているC#の最新バージョンは、Visual Studio 2015*1で利用可能になっている。 この最新バージョンでは、「.NET Compiler Platform」(コード名:“Roslyn”)と呼ばれる新しいコンパイラーが導入されており、静的解析APIの提供など、コンパイラーまわりに大きな変更が行われている。一方、言語機能に目を向けると、async/awaitという大きな機能が追加されたC# 5.0に比べると、一つ一つの新機能自体は小さい。しかし、それらはプログラムをより書きやすくするための機能なので、C#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

    nitoyon
    nitoyon 2015/02/09
    地味だけど書きやすくなって嬉しい反面、流派が増えすぎて複雑な思いもある。
  • neue cc - Modern C# Programming 現代的なC#の書き方、ライブラリの選び方

    と、題しまして第1回 業開中心会議 .NET技術の断捨離で話してきました。岩永さんが概念的なものを、私がC#とライブラリにフォーカスして具体的なものを、パネルディスカッションでフレームワーク周りの話を。的な分担だったでしょうか。 Modern、といっても、すんごく最先端で尖った感じ!ではなくて、来は今そこに当たり前のようにあるやり方を、ちゃんと選択していこう。といったような内容です。対象をどの辺に置こうかなあ、といったところで、やっぱ@ITでいうギョーカイだと、ラムダ禁止とか.NET 2.0を強いられているんだ、とかそういう人も少なくないのだろうと思ったので、その辺りを最低ラインに敷いて中身を組みました。 つまりLINQ使えってことですよ!というか、もう登場から5年も経とうとしているのに、未だにLINQ使うべきだよ!と言って回らなければならない事実が悲しくもあり。ちなみに他の言語にもLI

    nitoyon
    nitoyon 2013/02/03
    c#のモダンな書き方、ライブラリ。
  • WinRT の async/await コーディングがおもしろい(のでJavaScriptで真似してみた) - てっく煮ブログ

    Windows 8 開発者プレビューでの開発を試していたところ、非同期プログラミングを簡単に書ける await キーワードが面白かったので紹介します。Windows 8 用に Metro アプリを開発する場合、WinRT(Windows Runtime)というフレームワークを使ってプログラミングします。WinRT では、UI 応答速度を上げるための工夫として、少しでも時間がかかる可能性のある処理は、非同期の API のみが提供されています。なんかめんどくさそうですよね。いえいえ、そんなことはありません。.NET 5 から導入される async/await キーワードでとても簡単に書けてしまいます。HelloWorld アプリケーションのサンプルたとえば、HelloWorld アプリケーションでは次のようなサンプルが紹介されています。 // UI を表示するページのコンストラクタ // UI

    nitoyon
    nitoyon 2011/09/29
    ブログ書いた。
  • MVVMパターンの適応 – 2011年のMVVMパターンの常識 - the sea of fertility

    MVVMパターンに関する認識・知見があちこちに散らばっているように見えるので、そろそろまとめてみる事にしました。この記事は、他の各サイトの記事などでMVVMの基的な考え方・実装方法などを把握されている方が対象です。 そういった方がMVVMパターンを実務に適応してみようと思った時や、MVVMパターンを要件に合わせてカスタマイズしていく際に、認識すべきパターンの実装方式のそもそもの理由と考え方、要件に合わせて考えていかなければならないポイントを把握する助けとなる情報を提供するのを目的としてこの記事を書きました。(文字ばかりですいません><) MVVMの実装の各要素の実装をこねくりまわすばかりで、その過程でパターンを把握している気になって、パターンの来の目的を破壊してしまうような実装を推奨してしまっている人も見ます。そんな滑稽な事をしない認識を持って欲しいのです。 MVVMパターンは、WPF

    nitoyon
    nitoyon 2011/02/25
    MVVM について詳しい。
  • Yaneu Labs --- C#をスクリプト言語として使う

    *[hatefu:labs.yaneu.com/20101017/] C#をスクリプト言語として使う C#で開発している場合、外部ファイルにしたいスクリプト用の言語として、わざわざLuaのようなC#とは異なる言語を使う必要は無いだろう。 スクリプト言語には素直にC#を採用すれば良い。これにより、いつでもスクリプトから体のコードへと昇格が可能になる。逆に体のコードからスクリプト用のコードへの降格も可能になる。 「ああ、なんだ。CSharpCodeProviderの話か、それなら知ってるよ」と思った人も、以下ではいろんなアイデアを書いてあるので最後まで目を通して損は無いと思う。 * CSharpCodeProviderについてのおさらい まずCSharpCodeProviderについておさらいしておこう。 # CSharpCodeProvider CSharpCodeProvider ht

    nitoyon
    nitoyon 2010/10/17
    CSharpCodeProvider で C# をスクリプト言語として利用する場合の実用的なノウハウいろいろ。
  • .NET Framework 4.6 インストール環境において正常に印刷できない場合があります - 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 ...

    .NET Framework 4.6 インストール環境において正常に印刷できない場合があります - MSDN Blogs
    nitoyon
    nitoyon 2010/09/04
    .NET Framework のソースコードを取得する方法。日本語記事: http://www.atmarkit.co.jp/fdotnet/insiderseye/20080222sourcecode/sourcecode.html
  • Code Sample from Microsoft

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

    Code Sample from Microsoft
  • フレームワーク デザインのガイドライン | Microsoft Docs

    このセクションでは、.NET Framework を拡張および操作するライブラリをデザインするためのガイドラインを示します。 目標は、開発に使用されるプログラミング言語に依存しない統合プログラミング モデルを提供することにより、ライブラリ デザイナーが API の一貫性と使いやすさを確保できるようにすることです。 .NET Framework を拡張するクラスやコンポーネントを開発する場合は、これらのデザイン ガイドラインに従うことをお勧めします。 一貫性のないライブラリ デザインは、開発者の生産性に悪影響を及ぼし、採用を妨げます。 ガイドラインは、Do、Consider、Avoid、Do not という言葉から始まる単純な推奨事項として編成されています。 これらのガイドラインは、クラス ライブラリ デザイナーがさまざまなソリューション間のトレードオフを理解できるようにすることを目的として

    フレームワーク デザインのガイドライン | Microsoft Docs
    nitoyon
    nitoyon 2010/07/03
    .NET 開発のガイドライン。命名規約、クラス設計、拡張性、例外の扱い。
  • Windows 7 逆引きサンプル コード一覧

    Windows 7 逆引きサンプル コード一覧 更新日: 2011 年 2 月 10 日 Windows 7 におけるクライアント アプリケーション開発の具体的な実装例を、実装したい内容から逆引きとして、標準的な開発方法を用いた方法をご紹介していきます。スクリーン ショットとソース コードを見ながら、Windows 7 対応のアプリケーションを実装してみましょう! なお、WPF 4 は .NET Framework 4 が開発および実行環境に必要になります。.NET Framework 4 を用いた開発環境は Visual Studio 2010 を用いてください。 Visual Studio 2010 と .NET Framework 4 のインストールはこちらから

    Windows 7 逆引きサンプル コード一覧
    nitoyon
    nitoyon 2010/04/12
    Windows 7 の新機能を利用するためのサンプルコード。WPF4, マルチタッチ, Shell, フェデレーション, セキュリティ, Sensor
  • SilverlightやWPFやってっと、弱い参照のキーと値を管理するWeakDictionaryが欲しくなるよね。 - Bug Catharsis

    「弱い参照」と「強い参照」.NET Frameworkでは、ガベージコレクションによってメモリが管理されます。 変数(フィールドやローカル変数など)に格納されている参照のことを「強い参照」と言います。 強い参照によるオブジェクトは、そのオブジェクトがアクセス可能である限り、ガベージコレクションによって回収されることはありません。 オブジェクトがアクセス不可能になるとオブジェクトのメモリはガベージコレクションの対象となり、適切なタイミング回収されます。 「弱い参照」とは、 WeakReference クラスによる参照です。WeakReference クラスは、コンストラクタで対象オブジェクトを受け取ります。 対象オブジェクトへはTargetプロパティを通してアクセスすることができます。WeakReference オブジェクトは、内部に強い参照を保持せず、 参照をIntPtr構造体として保持し

    SilverlightやWPFやってっと、弱い参照のキーと値を管理するWeakDictionaryが欲しくなるよね。 - Bug Catharsis
    nitoyon
    nitoyon 2010/03/24
    弱参照 WeakReference のハッシュ WeakDictionary<TKey, TValue> を自作する。
  • Browse code samples

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    Browse code samples
    nitoyon
    nitoyon 2010/02/23
    C#の文法を活用すればデザパタがいらなくなるよ、という話。アクセサ・メソッド→プロパティ、シングルトン→スタティッククラス
  • CodeDomによる実行時コード生成術

    はじめに CodeDomは、.NET Frameworkが提供する高度な実行時コード生成ライブラリです。CodeDomを利用することで、開発者は容易に実行時にコードを生成するアプリケーションを開発することができ、動的に実行コードを管理することができます。System.Reflection名前空間によるリフレクションもまた、実行時レベルでのコード制御を行う強力なライブラリですが、CodeDomはリフレクションとは異なり、.NETのプログラム構造を論理的に表現できるという特徴を持ちます。 既存の実行可能コードを実行時に解析する場合、リフレクションが大きな威力を発揮します。これに対し、CodeDomは、特定のプログラミング言語に依存しない形で、抽象的にプログラムの構造を表現するデータを構築したいときに大きな威力を発揮します。.NETアプリケーションはVisual Basic .NET、C#、C+

    CodeDomによる実行時コード生成術
    nitoyon
    nitoyon 2009/12/03
    実行時コンパイルのCodeDom
  • cagylogic

    普段、Visual Studioを使う私は、ReSharperというアドインをインストールしている。ある意味、これがなしではVisual Studioで開発ができないくらい必需品。 続きを読む ReSharper 4.1の紹介 →

    cagylogic
    nitoyon
    nitoyon 2009/10/26
    VisualStudio用プラグインのReShaper。コンパイル前のスクロールバー横でのerror・warning通知や高度なIntelisense、検索など盛りだくさん。$199、30日試用可。
  • Microsoft – クラウド、コンピューター、アプリ & ゲーム

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

    Microsoft – クラウド、コンピューター、アプリ & ゲーム
    nitoyon
    nitoyon 2009/09/02
    MS 製の Y!Pipes みたいなマッシュアップ構築サービス Popfly のサービス停止に伴ってソースコードが一部公開された。ゲームデータファイルを読み込んで実行する部分。via http://shinichiaoyagi.blog25.fc2.com/blog-entry-214.html
  • オーダーを極める思考法

    プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。今回は、計算量のオーダーについて学びながら、TopCoderのMedium問題を考えてみましょう。 プログラムの実行時間 業務としてプログラミングをされている方には釈迦に説法かもしれませんが、プログラムの実行に掛かる時間を把握しておくのは、プログラミングを行う上で基的な注意点です。そしてこれは、TopCoderなどのコンテストでプログラムを組む際にもよく当てはまります。通常、こうしたことは感覚的に理解している方がほとんどだと思いますが、具体的にどれくらいのループを回すと何秒掛かる、といった基準を持っている人は少ないのではないでしょうか? 非常に基的なことですが、プログラムの実行時間に関して再確認しておきたいと思います。 TopCoderの制限に関して TopCoderでは、実行時間およびメモリ使

    オーダーを極める思考法
    nitoyon
    nitoyon 2009/08/25
    SRM443 DIV1 Mediumの問題を題材にオーダーと実行時間の肌感覚を説明。
  • csharp-sqlite - Project Hosting on Google Code

    Code Archive Skip to content Google About Google Privacy Terms

    nitoyon
    nitoyon 2009/08/07
    C#版のSQLite
  • アンマネージ・コードの型情報と連携する(1/2) - @IT

    C#やVisual Basicなどのコードからアンマネージ・コード(ネイティブ・コード)を呼び出すための「P/Invoke(Platform Invoke、プラットフォーム呼び出し)」には定型作業が多い。例えばC/C++用のマクロ定数は、C#ではenum型として扱いたいところだ。これには例えば次のような書き換えが必要になる。 #define PAGE_NOACCESS          0x01 #define PAGE_READONLY          0x02 #define PAGE_READWRITE         0x04 #define PAGE_WRITECOPY         0x08 (以下略)

    nitoyon
    nitoyon 2009/07/22
    P/Invokeの作成を自動化する「P/Invoke Interop Assistant(http://www.codeplex.com/clrinterop/)」を紹介。自前パーサーでがんばっているらしい。
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    nitoyon
    nitoyon 2009/06/26
    C# で書かれた AVM2 用のバイトコードコンパイラ。インラインアセンブラ。
  • Dennis 'D.C.' Dietrich

    nitoyon
    nitoyon 2009/06/25
    IE のセキュリティゾーンをprogramaticにいじる方法。urlmon.dll の IInternetSecurityMgrSite や IInternetSecurityManager を使う。via http://shinichiaoyagi.blog25.fc2.com/blog-entry-179.html