タグ

C#に関するregicatのブックマーク (15)

  • 【C#】インターフェイスの利点が理解できない人は「インターフェイスには3つのタイプがある」ことを理解しよう - Qiita

    はじめに C#を始めとするオブジェクト指向言語には「インターフェイス」という機能があります。 これを使うと良い設計になるというのはよく言われていますが、具体的にインターフェイスを使うとどう良いことがあるのか、というのは実感しづらい人も多いと思います。 僕もC#学びたての頃はほんとうにインターフェイスの利点が理解できず苦しみました。しかし、この記事で説明する「インターフェイスには3つのタイプがある」ことを理解して以来、もうインターフェイスが便利すぎて、インターフェイスなしではコーディングできない体質になってしまいました。 そこでこの記事では、インターフェイスを使う利点がいまいち理解できていない人が、インターフェイスを使いたくて使いたくて仕方がなくなるようにすることを目的として書きました。 注意点として、僕はC#の開発者でもなければ指導者でもないので、あくまで個人的な意見として参考にしていただ

    【C#】インターフェイスの利点が理解できない人は「インターフェイスには3つのタイプがある」ことを理解しよう - Qiita
  • C# Pad

    C# PadはWebベースのC# REPL環境。ブラウザにブックマークしておけば、簡単にC#コードの動作を確認したり、シェアしたりといったことが可能だ。 連載目次 C# Padは、WebベースのC# REPL環境。Web上でC#コードの動作を確認したり、ちょっとした計算をしたりするのに便利に使える。 C# Padの使い方 C# PadはWebベースのREPL(対話型実行環境)であり、対話的にC#コードの入力、評価、結果の出力を行える。コードを入力してウィンドウ右下の[Go]ボタンをクリックすれば、入力(C# Padではこれを「サブミッション」と呼んでいる)が評価され、状況に応じてその結果が出力される。 Webページの上部と個々のウィンドウの下部にはボタンが幾つか用意されている。これらのボタンを使うと、新規ウィンドウの作成、ヘルプの表示、入力したコードの実行、コピー、保存、シェア用のリンクの

    C# Pad
    regicat
    regicat 2017/10/24
  • MVVMとリアクティブプログラミングを支援するライブラリ「ReactiveProperty v2.0」オーバービュー - かずきのBlog@hatena

    最新記事はこちらになります。 blog.okazuki.jp ReactivePropertyとは ReactivePropertyとは、ReactiveProperty<T>クラスを中心とした、MVVMパターンでのリアクティブプログラミングを強力にサポートするライブラリです。 導入方法 NuGetからインストールできます。 Install-Package ReactiveProperty 対象プラットフォーム 以下のプラットフォームで動作します。 .NET Framework 4 .NET Framework 4.5 Windows store app 8/8.1 Windows Phone Sliverlight 8/8.1 Windows Phone app 8.1 Xamarin.Android Xamarin.iOS ReactivePropertyの基 ReactivePro

    MVVMとリアクティブプログラミングを支援するライブラリ「ReactiveProperty v2.0」オーバービュー - かずきのBlog@hatena
  • neue cc - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの原理原則

    リンク集はこちら。 #01 2009-04-04 linq.js #02 2009-10-29 AnonymousComparer #03 2010-04-07 DbExecutor #04 2010-04-30 DynamicJson #05 2010-07-15 XStreamingReader #06 2010-09-12 ReactiveOAuth #07 2011-02-22 Chaining Assertion #08 2011-10-17 ReactiveProperty #09 2012-02-18 ImplicitQueryString #10 2012-04-02 HashMapper #11 2012-12-03 MemcachedTranscoder #12 2013-02-27 AsyncOAuth #13 2013-04-05 CloudStructures #

  • 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#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • ReSharper and Roslyn: Q&A | The .NET Tools Blog

  • C# IEnumerable.Castメソッドでint→longはできない - OITA: Oika's Information Technological Activities

    表題のとおり。 LINQのCastでint→longとかint→shortとか、 その他数値間のキャストをしようとすると InvalidCastExceptionで落ちる。最近知った。 OfType()だとエラーにはならないが、要素が1つも返ってこない。 コードは以下。 int[] ints = new [] { 1, 2, 3 }; long[] longs = ints.Cast<long>().ToArray(); //throws InvalidCastException ToArray()はクエリを実行させるために入れてるだけなので何でも良い。 んで、理由はCastメソッドの実体を覗くとよくわかる。 (ILSpyで見たもの) // System.Linq.Enumerable private static IEnumerable<TResult> CastIterator<TRe

    C# IEnumerable.Castメソッドでint→longはできない - OITA: Oika's Information Technological Activities
  • C#で多重ループを脱出したい

    2013/04/06記事修正LILACさんのコメントをもとにサンプルコードを修正しました。日のお題は多重ループからの脱出です。C#でループを脱出するときはbreakを使いますが、breakは直近のループしか抜けられません。こんな場合はどうしましょう?private void DoSomething(){ for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) ..

    C#で多重ループを脱出したい
    regicat
    regicat 2015/03/15
    ううむgotoかー。
  • VS2010 makes a copy of .Designer.cs-file

    regicat
    regicat 2014/04/28
    データセットを保存するとデータセット名1.Designer.csとか生成されちゃう場合の対処法。プロジェクトファイルをテキストエディタで開いてLastGenOutputに指定されてるファイル名を修正
  • ReSharper最新オススメプラグイン | Post Blog

    今年初めから、ReSharperのプラグインについて(英語)のブログポストを沢山書いてきました. ReSharper 8では新しいエクステンションマネージャーを備えており、プラグインのインストール、配布、ライブテンプレートの設定は一層簡単になりました。この改善で既にコミュニティのコントリビュートが増えています。中でも注目すべきプラグインをこのエントリでは取り上げます。 JetBox JetBoxはReSharperの設定をDropBox経由で同期させることができる素晴らしいプラグインです。複数のマシンで作業する方には重宝することでしょう。 DropBoxとのリンクはReSharperの設定画面より行えます。一度リンクしてしまえば設定の変更内容は随時マシン間で同期されます。 Go to Word ReSharperではGo to Everythingによりあらゆるシンボルやファイルへジャンプ

    ReSharper最新オススメプラグイン | Post Blog
  • オブジェクト倶楽部、コーディング規約の会の「C# コーディング標準」の駄目なところ - ぐるぐる~

    C# のコーディング規約としては、オブジェクト倶楽部のもの (PDF) が有名だけど・・・正直、これ使いたくない。 冒頭に「このドキュメントは Java コーディング標準(オブジェクト倶楽部バージョン)、VB.NET コーディング標準を C#用に変更したもの」なんて堂々と書いてる時点で・・・ で、この規約のどこが駄目なのか、なぜ駄目なのか、どうすればいいのかをまとめてみた。 なんだかんだで長文エントリ。 追記: ちなみに、C# の規約としてはクラス ライブラリ開発者向けのデザイン ガイドラインで十分だと思う。 更に追記: ブコメで教えてもらったんだけど、どうやらクラス ライブラリ開発のデザイン ガイドラインの方が新しいらしい。 2. ファイル構成 (1) ファイル名 public クラスはそのクラス名の 1 ファイルにする。 例:public class Customer は、Custom

    オブジェクト倶楽部、コーディング規約の会の「C# コーディング標準」の駄目なところ - ぐるぐる~
    regicat
    regicat 2012/02/02
    職場で配られた規約がこれを基にしてて、「えー」と思ったんでぐぐってみたらこのページがトップに。やっぱり問題あるよねー。
  • LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く

    C#のLINQメソッドは超便利!!、なんですが…肝心のAPIがわかりづらいです。 そこで、種類ごとにまとめて、簡単なサンプルを書いてみました。 結果の表示に、独自の拡張メソッド ToResult(this IEnumerable) を使用しています。このメソッドは、文の最後に記載しています。 サンプルコードのダウンロードはこちら。 要素の取得(単一) メソッド名 機能 ElementAt ElementAtOrDefault 指定した位置(インデックス)にある要素を返します。 First FirstOrDefault 最初の要素を返します。 Last LastOrDefault 最後の要素を返します。 Single SingleOrDefault 唯一の要素を返します。該当する要素が複数ある場合、例外をスローします。 該当の要素がない場合は… 「〜OrDefault」が付いていないメソッ

    LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く
  • 連載:C# 4入門 - @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

  • MS、Second LifeでC#言語イベントを開催

    Microsoftでは、仮想プラットフォームであるSecond Life上でC#デベロッパーデーを開催する予定だ。 Microsoftは12月8日、仮想世界のプラットフォームであるSecond Life上で「Microsoft C# Day」を開催し、C#を使ったことがない開発者に同言語を紹介する。 MSDN(Microsoft Developer Network)の開発エバンジェリスト、ゼイン・ナボウルシ氏は11月30日付のブログ記事で、「Second Life上で初のビッグイベントをいよいよ開催することになった。C#を使ったことがなく、同言語についてもっと知りたいという人にとって、C# Dayは素晴らしい経験になるだろう」と述べている。 Second LifeのユーザーはMicrosoft Visual Studio Islandに行き、キオスクで参加登録することができる。Second

    MS、Second LifeでC#言語イベントを開催
    regicat
    regicat 2007/12/04
    英語なんだよね……orz
  • 1