タグ

C#に関するfumokmmのブックマーク (69)

  • Java 8を関数型っぽく使うためのおまじないをC#でやってみた - ぐるぐる~

    Java 8を関数型っぽく使うためのおまじない - きしだのはてな Java は大変ですね。 C# さんは、ラムダ式も Func 型(Java の Function 型に大体対応)も Visual Studio 2008 時代(5年前)から使えたので、似たようなことはすでにできます。 上記の記事のパクリなので、上記の記事をまずは読んでから読むことをおすすめします。 Func 型 C# では Func デリゲートというものがあります。名前空間名や型パラメータまで含めると、System.Func<TArg, TResult> です。 こんな感じで使います。 Func<string, string> enclose = s => "[" + s + "]"; これを呼び出そうとすると、こんな感じになります。 // Javaだとenclose.apply("foo")と、applyが必要 Syst

    Java 8を関数型っぽく使うためのおまじないをC#でやってみた - ぐるぐる~
    fumokmm
    fumokmm 2013/05/03
  • 【ラムダ式】 定義済みデリゲート一覧

    今回は定義済みデリゲートのお話です。 定義済みデリゲートとは、クラスライブラリで定義されているラムダ式を格納出来る型のことです。 前回までのサンプルコードでは、Actionデリゲート型のみを使用しましたが、 .NET FrameworkにはAction以外にもラムダ式に使用できる型が定義されています。 以下のコードを御覧ください。 class Program { static void Main(string[] args) { // string型の引数1つ、戻り値voidのラムダ式 Action<string> lambda1 = (string message) => /* 括弧の中に型を明示しても良い */ { // 引数で受け取った文字列を表示 Console.WriteLine(message); }; // string型の引数1つを受け取り、int型の戻り値を返すラムダ式

    【ラムダ式】 定義済みデリゲート一覧
  • DataTableからのデータ抽出方法の性能比較 - かずきのBlog@hatena

    ## 追記 .NET 6 版を書きました zenn.dev ## 文 注意)あまり真面目に測ってません 参考情報 当然っちゃ当然だけどDataTableとか使いようによっては遅い 当然っちゃ当然だけどDataTableとか使いようによっては遅い その2 今日も色々DataTableからデータを抽出(検索)する方法を比べてみました。前回よりも調べる対象をひろげて、DataViewも使ったりしてみました。 では、さっくりとやってみましょう。 ダミーデータ作成メソッド // ダミーデータの入ったDataTableを作るメソッド private static DataTable Create(int rowCount, int columnCount) { var result = new DataTable("DummyTable"); // ダミー列の作成 COLUMN_0 〜 COLUMN

    DataTableからのデータ抽出方法の性能比較 - かずきのBlog@hatena
  • DataColumn.Expression プロパティ (System.Data)

    名前空間: System.Data アセンブリ:System.Data.Common.dll アセンブリ:System.Data.dll アセンブリ:netstandard.dll ソース:DataColumn.cs ソース:DataColumn.cs ソース:DataColumn.cs 重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public: property System::String ^ Expression { System::String ^ get(); void set(System::String ^ value); }; public string Expression { get; set; } [Syste

    DataColumn.Expression プロパティ (System.Data)
    fumokmm
    fumokmm 2012/02/06
    ああ、CAST関数はサポートされてないのね、CONVERT使えってことね。
  • 正規表現を使って部分文字列を取得するには?[C#、VB]

    連載目次 稿では、ある文字列内から特定のパターンにマッチする部分文字列を抜き出す処理について、正規表現を使った場合の基的な手順をまとめる。 ここでは例として、HTMLから、 <a href="URL" ……>テキスト</a> のような形式のアンカー要素に対して、URL部分とテキスト部分を取り出す場合を考えてみよう。 このようなアンカー要素にマッチする正規表現は次のようになる。 <a href="(?<url>.*?)".*?>(?<text>.*?)</a> 2個所ある「(」と「)」で囲まれた部分は「グループ化」を行っており、それぞれに対して「?<url>」「?<text>」により、「url」と「text」というグループ名を付けている。 ちなみに「.*?>」の部分で使用している「?」は最短一致を指定するもので、「.*?>」は、「>」以外の任意の文字の並び+「>」、を表すことになる(「.

  • 汎用的に使用できる定義済みのデリゲート型は?[C#、VB] - @IT

    .NET Framework 2.0のジェネリックや.NET Framework 3.5でのラムダ式などの導入により、C#やVBでデリゲートの仕組みを使用する機会が増えている。これに伴い、.NET Frameworkのクラス・ライブラリには、汎用的に使用できるデリゲート型の定義が多く追加されている。 ここでは、そのような定義済みのデリゲート型をまとめてみた。以下の2つの表はそれをC#およびVisual Basic(以下、VB)で表記したものだ。MethodInvoker型はSystem.Windows.Forms名前空間で定義されているが、それ以外はすべてSystem空間で定義されている。

    fumokmm
    fumokmm 2012/02/03
    デリゲート、ラムダ式。
  • C# - コントロールのタブ順を変更する

    fumokmm
    fumokmm 2012/01/17
    TabIndex = 0 が先頭。
  • Microsoft® Visual C#® 既定のキーバインド

    編集 Ctrl + M, O ソース ファイル内の型やメンバの概要を確認できるように、既存の領域を折りたたみます。 Ctrl + M, L 折りたたまれているすべてのアウトライン領域について、折りたたんだ状態と展開した状態を切り替えます。 Ctrl + M, M 現在選択されている折りたたまれた領域について、折りたたんだ状態と展開した状態を切り替えます。 Ctrl + M, P ドキュメント全体からすべてのアウトライン情報を削除します。 Ctrl + K, C または Ctrl + E, C 現在の行または現在選択されているすべての行の先頭に // を挿入します。 Ctrl + K, U または Ctrl + E, U 現在の行または現在選択されているすべての行の先頭にある // を削除します。 Ctrl + K, D または Ctrl + E, D [ツール] メニューの [オプション]

    Microsoft® Visual C#® 既定のキーバインド
  • 標準クエリ演算子(その他)(C# によるプログラミング入門)

    Show(a.Distinct()); Show(a.Union(b)); Show(a.Intersect(b)); Show(a.Except(b)); 0 1 2 3 4 0 1 2 3 4 6 8 10 12 0 2 4 1 3 注: 数学的な意味での集合は要素の重複を認めません。 セット演算子の結果は重複が除かれたものになります。 変換演算子 型の変換のための演算子がいくつかあります。 シーケンス → シーケンス まず、AsEnumerable、ToArray、ToList は、 シーケンスをそれぞれ、 IEnumeragle<T>、配列、List<T> に変換します。 var a = new[] { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4 }; IEnumerable<int> a1 = a.Distinct().AsEnumerable(); int[] a

    標準クエリ演算子(その他)(C# によるプログラミング入門)
  • C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう

    はじめに 各地でTDD Boot Camp(TDDBC)が開催されるようになり、このところTDD(テスト駆動開発)が注目を浴びています。ただ、自分でも試してみようと思った時に目につく書籍や記事などは、JavaRubyPHPといった、いわゆるオープンソース系の言語ばかり。.NET Framework(Windows)で開発の仕事をしているとTDDは関係ないんだろうか、…とさえ思えてくるかもしれません。 しかし、そんなことはありません。.NET FrameworkでのTDDに必須のユニットテストフレームワークとして有名なNUnitの最初のバージョンは、Visual Studio .NET 2002がリリースされる以前の2001年に公開されています。.NET Frameworkは、生まれたときからTDDと共にあると言っても過言ではないでしょう。 この記事では、TDDとTDDBCについて簡単に

    C#で始めるテスト駆動開発 ~TDDBC横浜の課題をやってみよう
  • 【ラムダ式】 汎用デリゲートの使い方

    ラムダ式の解説も終わりに近づいてきました。 今日はラムダ式に使える、汎用デリゲート型の一覧です。 ラムダ式の書き方のバリエーションと簡単な使い方をまとめました。 以下のコードを御覧ください。 class Program { static void Main(string[] args) { // Func // 戻り値int - 引数なし Func<int> func1 = () => 0; // 戻り値int - 引数(int)『引数の型を省略』 Func<int, int> func2 = (x) => x * 2; // 戻り値int - 引数(int)『引数の型を明示』 Func<int, int> func3 = (int x) => x * 2; // 戻り値int - 引数(int)『括弧を省略』 Func<int, int> func4 = x => x * 2; // 戻

    【ラムダ式】 汎用デリゲートの使い方
    fumokmm
    fumokmm 2011/12/06
    戻り値のないFuncを書こうと思って探してたら、FuncでなくActionを使えってことでいいのかな?
  • 演算子のオーバーロード

    概要 オブジェクト指向言語ではクラスを定義することで自分の思い通りの「型」を作ることが出来ます。 このような自作の型は、int や double などの組込み型と区別するため、 ユーザー定義型と呼ばれています。 ユーザー定義型の理想は、組込み型とまったく同じように扱えることです。 ユーザー定義型をあたかも組込み型であるかのように扱えるようにするため、 C#には演算子のオーバーロードというものが用意されています。 C#の組込み型には + や - などの演算子が用意されていますが、 演算子のオーバーロードを行うことで、 ユーザー定義型にも自分で演算子を定義することが出来、 組込み型と同じように扱うことができます。 このように、演算子のオーバーロードによってユーザ定義型に追加された演算子のことをユーザ定義演算子と呼びます。 ポイント 組み込み型(int や string など)とユーザー定義型(

    演算子のオーバーロード
  • 例外処理の方針:アーキテクト360

    .NETアプリケーションのアーキテクチャやフレームワーク、設計に役立つ情報を中心に紹介しています。また業務システムに役立ちそうなユーティリティやノウハウをサンプルコードつきで公開しています。言語はC#とVB.NETを扱っています。 Try~Catchを使うことで例外を補足し、その後の処理を書くことができると多くの書籍に載っているが、システム全体としてどのように例外を処理するかという方針には、あまり触れられていないように思う。筆者はできるだけ例外処理を業務ロジック中に書かないようにしたいので、ビジネス系アプリケーションなら次のような方針にしている。 例外は基的にシステムのエントリポイント(アプリケーションを起動するところ)で捕捉し、例外が発生したらそれ以降の処理は中断して画面にメッセージを表示する 例外が発生してもリトライ、スキップ、修正など特別な処理を行う場合は、例外が発生する可能性があ

    fumokmm
    fumokmm 2011/12/02
    例外処理の方針。
  • stringの配列からDictionaryへの変換 その4 - かずきのBlog@hatena

    一応、最後に古き良き?やり方。forループですね。 var array = new[] { "1", "one", "2", "two" }; var dict = new Dictionary<string, string>(); for (int i = 0; i < array.Length; i += 2) { dict[array[i]] = array[i + 1]; }

    stringの配列からDictionaryへの変換 その4 - かずきのBlog@hatena
  • 移動しました

     このページは移動しました。 5秒後に新しいページ転送します。 移動しない場合はここをクリックしてください。

    fumokmm
    fumokmm 2011/11/29
  • 駆り立てるのは野心と欲望、横たわるのは犬と豚 : 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の�

    July 30, 201000:36 カテゴリIT関連 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。 MSの翻訳をやっている人は日語を理解できているのであろうか? 「制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。」 これでぱっと意味が理解できる?? こちとら一応、Exceptionを手がかりにしてるわけだから 変な日語で惑わすのやめてくれや(笑) 今日はこれで半日潰れたぞ。。。 というわけで、asp.netでちょこちょこ開発をいまはやっているわけですが、 型付きであらせられるDataSet様を使ってデータをDBから抜いてくるときにこれが発生することがあります

    fumokmm
    fumokmm 2011/11/29
    同期の取り方を知りたい。
  • Miscnotes.com

    Miscnotes.com This Page Is Under Construction - Coming Soon! Renew Now Backorder Domain Related Searches: Work from Home Top 10 Luxury Cars 10 Best Mutual Funds All Inclusive Vacation Packages Healthy Weight Loss Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information

    fumokmm
    fumokmm 2011/11/29
    えぇ…まじかこれ…
  • DataSetとDataAdapterとかが実によくわからん。 - ニヤリ TechSide

    データベースからDataSetとやらを作ってDataGridViewに一覧表示みたいな事やろうとした場合、 サーバーエクスプローラでデータベースに接続 プロジェクトから新規作成でDataSetを作成 サーバーエクスプローラのテーブル(ビュー)をDataSetのエディタにD&D データソースから今作ったDatasetのテーブルをFormにドロップ なんてので出来ちゃうので大変に便利なんだが、BindingSourceだとかDataAdapterやらが勝手に作成されるのが気持ち悪いので調べてみる。 参考にしたとことか http://support.microsoft.com/kb/307587/ja http://japan.internet.com/developer/20070522/26.html http://dobon.net/vb/dotnet/datagridview/ 分かって

    DataSetとDataAdapterとかが実によくわからん。 - ニヤリ TechSide
  • C# によるプログラミング入門 [データ処理] LINQ

    概要 Ver. 3.0 C# 3.0(そして、同時に発表された VB 9.0)の目玉となる新機能は、 Language Integrated Query、略して LINQ と呼ばれるもので、 リレーショナルデータベースや XML に対する操作をプログラミング言語に統合するものです。 LINQ を用いることで、様々なタイプのデータソースに対する検索や操作を、 共通の構文で行うことができます。 IEnumeable を実装するコレクションクラスに対するもの(LINQ to Object)や、 XML に対するもの(LINQ to XML)、 それに、リレーショナルデータベースサーバに対する SQL クエリを生成するもの(LINQ to SQL)などがあります。 LINQ には以下のような利点があります。 オブジェクト指向言語らしい書き方でデータベースへの問い合わせができます。 in-memor

    C# によるプログラミング入門 [データ処理] LINQ
    fumokmm
    fumokmm 2011/11/27
    リンクリンク!
  • 拡張メソッド - C# プログラミング ガイド - C#

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 拡張メソッドを使用すると、新規の派生型の作成、再コンパイル、または元の型の変更を行うことなく既存の型にメソッドを "追加" できます。 拡張メソッドは静的メソッドですが、拡張された型のインスタンス メソッドのように呼び出します。 C#、F#、Visual Basic で作成されたクライアント コードの場合は、拡張メソッドの呼び出しと、型で定義されているメソッドの呼び出しに明確な違いはありません。 最も一般的な拡張メソッドは、既存の System.Collections.IEnumerable 型および System.Collections.Generic.IEnumerable<T> 型にクエリ機能を追加する

    fumokmm
    fumokmm 2011/11/25
    C#の拡張メソッドは、Objective-CやGroovyで言うところのカテゴリーですね。