タグ

.NETに関するrikubaのブックマーク (13)

  • EncodingクラスとBOMありなしの制御 - smdn.jp

    EncodingクラスとBOMありなしの制御を更新、標準ストリーム(Consoleクラス・Processクラス)におけるBOM出力の動作を追記

    EncodingクラスとBOMありなしの制御 - smdn.jp
    rikuba
    rikuba 2013/10/30
  • Windows ストアアプリでデータベース(SQLite 3)を使う

  • neue cc - .NETの標準シリアライザ(XML/JSON)の使い分けまとめ

    今年もAdvent Calendarの季節がやってきましたね。去年は私はC#とJavaScriptで書きましたが、今年はC#とSilverlightでやります。というわけで、この記事はSilverlight Advent Calendar 2011用のエントリです。前日は@posauneさんのSilverlightのListBoxでつくるいんちきHorizontalTextBlock でした。 今回の記事中のサンプルはSilverlight 4で書いています。が、Silverlight用という体裁を持つためにDebug.WriteLineで書いているというだけで、Silverlightらしさは皆無です!えー。.NET 4でもWindows Phone 7でも関係なく通じる話ですねん。 シリアライザを使う場面 概ね3つではないでしょうか。外部で公開されているデータ(APIをネット経由で叩くと

    rikuba
    rikuba 2013/06/21
  • 日付と時刻に関連する型を比較する - .NET

    DateTimeOffset 構造体 DateTimeOffset 構造体は、日付と時刻の値、およびその値と UTC との差異を示すオフセットを表します。 そのため、値は常に明確に単一時点を識別します。 DateTimeOffset 型には、 DateTime 型のすべての機能に加え、タイム ゾーンの処理機能が含まれます。 このため、次のことを実行するアプリケーションに適しています。 単一の時点を一意かつ明確に識別する。 DateTimeOffset 型を使用して、「現在」の意味を明確に定義し、トランザクションの時刻を記録し、システム イベントまたはアプリケーション イベントの時刻を記録し、ファイル作成時刻とファイル変更時刻を記録することができます。 一般的な日付と時刻の演算を実行する。 その時刻が 2 つの別々の値または構造体の 2 つのメンバーである場合、関連する複数の時刻を保持する。

    日付と時刻に関連する型を比較する - .NET
    rikuba
    rikuba 2013/06/21
  • neue cc - Modern C# Programming Style Guide

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

    rikuba
    rikuba 2013/06/20
  • neue cc - dynamicとQueryString、或いは無限に不確定なオプション引数について

    どうもこんばんわ、30時間も寝てないわー。まあ、お陰で真昼間の就業中にうつうつらしてましたが!ちなみにGRAVITY DAZEにはまって延々とプレイしてたから寝てないだけです。PS陣営にくだるなんて!さて、それはそれとしてBlog更新頻度の低下っぷりはお察し下さい。そんなこんなで最近の仕事仕事ですって!仕事してるんですって!?)はASP.NETなんですが、色々アレですね。ふふふ。ソウルジェムは真っ黒と真っ白を行ったり来たりしてて楽しいです。まあ、ようするに楽しいです。楽しいのはいいとしてBlogが停滞するのはいくないので、電車でGRAVITY DAZEやりながらQueryStringうぜえええええ、とか悶々としたので帰り道に殺害する算段を整えていました。 QueryStringって、qとかnumとかiとかsとか、それそのものだけじゃ何を指してるかイミフなので、C#的にはちゃんと名前をつ

    rikuba
    rikuba 2013/06/20
  • neue cc - ImplicitQueryString - 暗黙的変換を活用したC#用のクエリストリング変換ライブラリ

    ImplicitQueryString - CodePlex QueryStringかったるいですね、変換するのが。intに。boolに。それ以外に。そのままじゃどうしようもなくストレスフル。そこで、以下のように書けるライブラリを作りました。勿論NuGetでのインストールも可能です。あと、ライブラリといっても例によって.csファイル一個だけなので、導入は超お手軽。 以下はASP.NETの例ですが、NameValueCollectionを使っているものは全て対象になります。QueryStringだけじゃなくてRequest.Formなどにも使えますね。 // using Codeplex.Web; int count; string query; bool? isOrdered; // support nullable protected void Page_Load(object send

    rikuba
    rikuba 2013/06/20
  • LINQの仕組み&遅延評価の正しい基礎知識 - @IT

    .NET開発者中心 厳選ブログ記事 LINQの仕組み&遅延評価の正しい基礎知識 ―― ブログ「neue cc」より ―― 河合 宜文 2011/08/10 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 稿では、LINQについて基礎から理解することを目的に、その仕組みと遅延評価について最初から解説します(※「何をもって最初/基礎とするか」は人により異なると思いますが、稿の解説はあくまで、わたしなりの基準における基礎です)。 なお、ここではLINQ

  • neue cc - 配列とGetEnumetorのお話

    LINQ書いていますか?LINQでデータベース活用とか見出しにありますが、データベース活用といいつつ、その内実は100% LINQ to Objectsです。じゃあデータベースに何で問い合わせやってるの?というと(禁則事項です)。さて、そんなわけで毎日LINQ書いているわけですが、それとは全く関係なく、配列が結構困ったちゃん。例えば以下のような、配列を包んだコレクションを提供したいとします。 public class WrappedCollection<T> { T[] source; public WrappedCollection(T[] innerSource) { this.source = innerSource; } } で、T[]なsourceを元にメソッドを幾つか提供する、と。それ自体はないこともないと思われます。さて、Collectionを名乗っているので、IEnumer

    rikuba
    rikuba 2013/06/20
  • 今月は MSDN が非同期処理の記事だらけ « ++C++; // 未確認飛行 C ブログ

    非同期だらけだった BUILD の後というのもあって、MSDN Blog も MSDN Magazine も非同期だらけですねぇ、ほんと。 というか、BUILD のセッション内容がそのまま記事になった感じ。 いくつかの記事に関して、概要をメモ書き程度に: Easier Asynchronous Programming with the New Visual Studio Async CTP http://msdn.microsoft.com/en-us/magazine/hh456401.aspx そもそも async が必要とされる理由に関して。応答性良くするために他にどういう手段が考えられて、その手段だと何が問題かを説明。 解1: スレッドたくさん作る 確かに応答性は改善 リソース無駄い (ほとんどは待ち時間なのに)客の数だけウェイター雇い、オーダーごとに2名ずつコック雇うような無駄

    今月は MSDN が非同期処理の記事だらけ « ++C++; // 未確認飛行 C ブログ
    rikuba
    rikuba 2013/06/20
  • Async/Await - 非同期プログラミングのベスト プラクティス

    async void を避ける 使用できる戻り値の型には、Task、Task<T>、および void の 3 つがありますが、async メソッドで自然な戻り値の型は Task と Task<T> だけです。同期コードから非同期コードに変換する際、型 T を返すメソッドはすべて Task<T> を返す async メソッドになり、void を返すメソッドはすべて Task を返す async メソッドになります。次のコード スニペットは、void を返す同期メソッドとそれに相当する非同期メソッドを示しています。 void MyMethod() { // Do synchronous work. Thread.Sleep(1000); } async Task MyMethodAsync() { // Do asynchronous work. await Task.Delay(1000);

    Async/Await - 非同期プログラミングのベスト プラクティス
    rikuba
    rikuba 2013/06/20
  • Dispose メソッドの実装 - .NET

    Dispose メソッドは、主に管理対象外リソースを解放するために実装されます。 IDisposable の実装であるインスタンス メンバーを使用する場合は、Dispose 呼び出しをカスケードするのが一般的です。 Dispose を実装するのは他にも理由があります。たとえば、割り当てられたメモリを解放したり、コレクションに追加された項目を削除したり、取得されていたロックのリリースを通知したりするためです。 .NET のガベージ コレクターは、アンマネージド メモリの割り当てや解放を行いません。 破棄パターンと呼ばれる、オブジェクトを破棄するパターンによって、オブジェクトの有効期間に順番が付けられます。 dispose パターンは、IDisposable インターフェイスを実装するオブジェクトに使用されます。 このパターンは、ガベージ コレクターがアンマネージド オブジェクトを再利用できな

    Dispose メソッドの実装 - .NET
    rikuba
    rikuba 2013/06/03
  • HTTP圧縮を使用してWebページを取得するには?[2.0のみ、C#、VB] - @IT

    「TIPS:WebRequest/WebResponseクラスでWebページを取得するには?」では、(HTTPプロトコルのGETメソッドにより)Webサーバ上のページやファイルなどをダウンロードする方法を紹介している。しかしながら実はこのTIPSが示すような.NET Framework 1.xベースの方法では、HTTP圧縮されたファイルをダウンロードすることができなかった(HTTP圧縮が行われずに通常のファイルのままダウンロードが行われる)。 稿で解説する.NETのHTTP圧縮ではHTTP圧縮とは(※2014/07/22修正)、HTTP 1.1プロトコルの機能で、GZIPファイル・フォーマット(DEFLATE圧縮アルゴリズム)により通信データを圧縮する。これを利用することで転送量を平均で30~50%程度に縮小できる。従って、特にネットワーク帯域幅が狭い環境で利用すると、パフォーマンスが飛

    rikuba
    rikuba 2013/02/07
  • 1