タグ

C#に関するmakky55makky55のブックマーク (24)

  • 自作クラスの演算子をオーバーロードする

    注意:ここで説明しているVB.NETのOperatorステートメントは、.NET Framework 2.0以降でのみ使用できます。 例えば、「1 + 1」のように2つの数字に二項+演算子を使うと、2つの数字を足した答えが得られます。文字列の場合は、2つの文字列が連結されます。このような演算子の動作を自作のクラス(あるいは構造体)に定義することもできます。 例えば、次のようなクラスがあるとします。

    自作クラスの演算子をオーバーロードする
  • LINQのそのForEach、実はSelectで書き換えられるかも - Qiita

    LINQの拡張メソッドとしてよく挙げれるForEach。 標準ではIList<T>のみに実装されているのでIEnumerable<T>で使えるように拡張されてる方も多いのではないでしょうか? 実はそのForEach、Selectなど他のLINQのメソッドに置き換えられるかもしれません。 例えば(私が)よく見るのは以下のケース。(あまり良い例ではないけど…。) var list = new List<int>(); var range = Enumerable.Range(0, 10).ForEach(x => { list.Add(x); });

    LINQのそのForEach、実はSelectで書き換えられるかも - Qiita
  • List<T>使ってたら「CA1002: ジェネリック リストを公開しません」とか言われたけど、じゃあどうしたらいいのさ? - Qiita

    List<T>使ってたら「CA1002: ジェネリック リストを公開しません」とか言われたけど、じゃあどうしたらいいのさ?C#.NET CA1002: ジェネリック リストを公開しません というガイドラインがあります。 継承を目的としたジェネリック コレクションを次に示します。公開するときは System.Collections.Generic.List<T> ではなく、これを使用してください。 ・ System.Collections.ObjectModel.Collection<T> ・ System.Collections.ObjectModel.ReadOnlyCollection<T> ・ System.Collections.ObjectModel.KeyedCollection<TKey, TItem> などと書かれていたりしますが、単純に Collection<T> に置き

    List<T>使ってたら「CA1002: ジェネリック リストを公開しません」とか言われたけど、じゃあどうしたらいいのさ? - Qiita
  • ViewData vs ViewBag vs TempData - 夜は寝る

    C# Advent Calendar の6日目を担当します。 このブログでまともなことを書くのは初めてです。これを期にふざけるのはやめて、ちゃんとした技術ブログにしていきたいです。エンジニアと言い張って給料泥棒して生活をしてきましたが、そろそろバレそうなので C# を勉強しようと思っています。 ASP.NET MVC で、Model を介さずに一時的にデータを保管する方法が複数あります。名前も抽象的かつ似ているので、混乱しないために整理します。初心者が半分妄想で書いており間違いが108つほどあるはずなので、ご指摘いただければ幸いです。あと、極めてさりげない形でハイキュー!!の名言を紹介しています。 ViewData vs ViewBag 両方とも、Controller/View 層でデータを渡したいときに使います。違いは型の安全性です。ViewData はキャストか型変換が必要です。どちら

    ViewData vs ViewBag vs TempData - 夜は寝る
  • Dapper - King of Micro ORM (C#.NET)

    Object Relationship Mapper that maps your database directly with C# objects. There are many ORM tools available. One of them is Dapper. Dapper is known as the king of ORM. Speed and fast in performance. Fewer lines of code. Object Mapper. Static Object Binding. Dynamic Object Binding. Easy Handling of SQL Query. Easy Handling of Stored Procedure. Operating directly to the IDBConnection class that

    Dapper - King of Micro ORM (C#.NET)
  • Azure WebJobs の開発と運用時に便利な情報をまとめた - しばやん雑記

    Azure WebJobs を利用した開発を行うことが増えてきたので、開発と運用時に便利そうな情報をまとめておくことにします。今回は WebJobs SDK についてはまとめて扱うことにします。 今回扱っている内容は以下の通りです。Kudu 側に少し偏っているかもしれません。 トリガー実行 引数付きでトリガー実行 スケジュール実行 トリガー実行後の Webhook Visual Studio からのデプロイ ソース管理からのデプロイ Web App へのデプロイ時の注意 HTTP リクエストのパススルー ログ出力の方法 複数の実行ファイルがある場合の指定 設定ファイルについて WebJob のスケールアウト シングルトンとして実行 Graceful Shutdown の実装 Azure WebJobs SDK を使う 公式ドキュメント 目次記法を初めて使ってみました。長い記事を書いた時には

    Azure WebJobs の開発と運用時に便利な情報をまとめた - しばやん雑記
    makky55makky55
    makky55makky55 2015/09/19
    WebJobs、おもしろそう。AWSでも似たようなことできないかな(Lamdaが近いけど)
  • Mono is Dead

    ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCYoshifumi Kawai

    Mono is Dead
    makky55makky55
    makky55makky55 2015/09/19
    いまのアプリをMonoで動かしても、落ちないか検証がとても大変そう。
  • サロゲートペアや結合文字が含まれているか調べる

    サロゲートペアや結合文字が含まれているか調べるString型の文字列にサロゲートペアや結合文字が含まれていると、非常に厄介です。これらを考慮しないでコードを書くと、文字列にこれらの文字が入っているときに、不具合が生じるかもしれません。ここでは文字列内にサロゲートペアや結合文字が含まれているかを調べる方法を紹介します。 サロゲートペアが含まれているか調べる通常は、1つのChar値で1つの文字を表現します。ところがサロゲートペア(代用対)は、2つのChar値を使って1つの文字を表現します。サロゲートペアの例としては、魚のホッケ(魚へんに花)(文字コードはU+29E3D)や、牛丼の吉野家の「よし」の字(土に口)(文字コードはU+20BB7)などがあります。ホッケの場合はU+D867とU+DE3D、「よし」の場合はU+D842とU+DFB7の2つのChar値を使って表現します。 サロゲートペアにつ

    サロゲートペアや結合文字が含まれているか調べる
  • C# 6.0 新機能まとめ - Qiita

    この記事は下記のページを参考にしています。正式版 C# 6.0 のリリース時には機能が変更されている可能性があります。 BuildInsider C# 6.0で知っておくべき13の新機能 もくじ 1 ★ 自動実装プロパティ用の初期化子 2 ★ ラムダ式体によるメンバーの記述 3 ★ using static 4 Null 条件演算子 5 ★ 文字列補間 6 nameof 演算子 7 ★ インデックス初期化子 8 例外フィルター 9 catch および finally ブロック内での await 10 パラメーターを持たない構造体コンストラクター 11 コレクション初期化子内での Add 拡張メソッドの利用 12 ? オーバーロード解決の向上 13 ? #pragma によるユーザー定義コンパイラー警告の抑止 ★ は便利そうな機能。?はめったに使いそうにない機能または一般のプログラマには関

    C# 6.0 新機能まとめ - Qiita
  • C# 6 の新機能 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    「C# 5.0」正式リリースの後、「.NET Compiler Platform」の開発が始まり、 当初は既存の C# コンパイラーとの互換性を保つことが優先されていて、しばらく C# の新機能実装が止まっていました。 これまでだと、C# 4.0の正式版がリリースされた瞬間に C# 5.0 のプレビュー版が提供されたりといったように、ほぼ切れ目なく新機能の発表がありましたが、 今回、C# 6 は、 5.0 から2年ほどの空きができました。 しかし、「.NET Compiler Platform」が完成したことで、 かかるコストの割には効果が薄いということでこれまで実装されてこなかったような、ちょっとした便利機能が実装されやすくなりました。 結果として、C# 6 では(C# 5.0 の時の非同期メソッドのような)大きな機能はない代わりに、 (C# 3.0 の時にも似たような)細々とした便利な

    C# 6 の新機能 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
  • 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#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • 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をネット経由で叩くと

    makky55makky55
    makky55makky55 2015/05/28
    DataContractJsonSerializer、DataContractSerializer、DataMember に Order をつけるて順番を指定する件。
  • List<T>.ForEach with index

    makky55makky55
    makky55makky55 2015/02/16
    C#でList.ForEach()で回すときにindexを渡してくれるオーバーロードメソッドがないのかなと思ったがなかった。そういうときの代案:
  • MSの今回の発表で何が起こるのか、の私的感想 - 亀岡的プログラマ日記

    さて、まさかのMSの大鉈連発に、TL大騒ぎでございます。まさかOSS化まで入ってるとは僕も思ってなかった。MSクラスタですらもざわざわである。 んで、今回の決定が意味することをちょっと考察してみたいなーと。備忘録的にね。 あくまで 私的感想です。鵜呑みにしないように。 何が起こったのか 11/12日(米国現地時間),Microsoft Connect();というイベントの中での発表でございました。 詳しくは、Public Keyさんを参照するのが良いと思います。 [速報]マイクロソフト、サーバサイドの「.NET Core Rutime」と「.NET Framework」のオープンソース化を発表。C#コンパイラやASP.NETなど [速報]マイクロソフト、「.NET server framework」のLinuxMacOS X用オフィシャルディストリビューションを発表。.NETアプリケーシ

    MSの今回の発表で何が起こるのか、の私的感想 - 亀岡的プログラマ日記
  • VS2012のC#プロジェクトのプラットフォーム構成(Any CPU・32ビットの優先) - SourceChord

    VS2012では、C#プロジェクトのプラットフォーム構成のデフォルト設定が、AnyCPU(32ビットの優先)となっています。 VS2012を半年ほど使ってたけど、今まで気づいてなかった。 というか、AnyCPU(32ビットの優先)なんて設定が増えていたとは。。。 ちなみにVS2010の時に、コンソールアプリやWPFなどのexe形式のものはx86、クラスライブラリなどはAnyCPU、というデフォルト設定に変更になっていました。 その辺の背景は↓の記事に詳しく書かれています。 http://d.hatena.ne.jp/siokoshou/20091102/p1 それが、VS2012でAnyCPUになっていて、なぜ!?と思ったのですが、調べてみたらこれは今までのAnyCPUとは異なったもののようです。 参考リンク http://www.infoq.com/jp/news/2012/04/any

  • ふたつの Iterator を LINQ で、そして LINQ を Java にも - Qiita

    うむ、シンプル。要素数が違ってても少ない方に合わせてくれます。 Java7以前 の場合 reactive4java というライブラリがありまして、これは JavaReactive Extensions を実現するライブラリなのですが、LINQ的な機能が Interactive というクラスで提供されています。 これを使うと Zip ができます。 //import hu.akarnokd.reactive4java.base.Func2; //import hu.akarnokd.reactive4java.interactive.Interactive; Iterable<Integer> array1 = Arrays.asList(1, 2, 3, 4, 5); Iterable<String> array2 = Arrays.asList("hoge", "fuga", "pi

    ふたつの Iterator を LINQ で、そして LINQ を Java にも - Qiita
  • LINQ to Objects と Java8-Stream API の対応表

    Java8 で filter や map が使えるようになったー! というわけで .NET の LINQ to Objects との対応表を作ってみました。 2018.2.7 - Kotlin も追記しました! LINQ - Enumerable クラス (System.Linq) Java8 - Stream (Java Platform SE 8 ) Kotlin - kotlin.collections, kotlin.sequences らへん の比較です。 kotlin.collections は遅延ではないので注意です。 Java の方は Collectors (Java Platform SE 8 ) も使います。 まだ試したものは少ないので間違ってるかもしれない & カテゴライズが適当 なので、編集リクエストしてもらえるとありがたいです。 機能 LINQ Java8 Kot

    LINQ to Objects と Java8-Stream API の対応表
  • [C#][SQLite]System.Data.SQLiteを試してみた その2「:memory:」

    using System; using SQLiteSample.TestDataSetTableAdapters; using System.Data.SQLite; namespace SQLiteSample { class Program { static void Main(string[] args) { using (var conn = new SQLiteConnection("Data Source=:memory:")) { conn.Open(); Console.WriteLine("CREATE TABLE..."); using (var command = conn.CreateCommand()) { command.CommandText = "CREATE TABLE Person( " + " ID integer primary key, " +

  • Dot Net Perls

    Dot Net PerlsBrowse examples for many languages, with explanations and code side by side for easy understanding. Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority. Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at

  • C# で Selenium2(WebDriver) を使ってみる - お だ のスペース

    .NET 用のも出ているので試してみる。 NuGet Install-Package で次の2つをインストールします。 Install-Package Selenium.WebDriver Install-Package Selenium.Support NuGet Gallery Selenium.WebDriver NuGet Gallery Selenium.Support Selenium.WebDriver だけでも動くけど、Support があると、ここらへんで紹介した PageFactory や Wait 等が使えるようになります。 Selenium2 PageFactory の紹介 - お だ のスペース Selenium2 で wait 処理 - お だ のスペース 単純なログインページのコードはこんな感じです。*1 Signin.cs using System; usi

    C# で Selenium2(WebDriver) を使ってみる - お だ のスペース