注意:ここで説明しているVB.NETのOperatorステートメントは、.NET Framework 2.0以降でのみ使用できます。 例えば、「1 + 1」のように2つの数字に二項+演算子を使うと、2つの数字を足した答えが得られます。文字列の場合は、2つの文字列が連結されます。このような演算子の動作を自作のクラス(あるいは構造体)に定義することもできます。 例えば、次のようなクラスがあるとします。
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> に置き
C# Advent Calendar の6日目を担当します。 このブログでまともなことを書くのは初めてです。これを期にふざけるのはやめて、ちゃんとした技術ブログにしていきたいです。エンジニアと言い張って給料泥棒して生活をしてきましたが、そろそろバレそうなので C# を勉強しようと思っています。 ASP.NET MVC で、Model を介さずに一時的にデータを保管する方法が複数あります。名前も抽象的かつ似ているので、混乱しないために整理します。初心者が半分妄想で書いており間違いが108つほどあるはずなので、ご指摘いただければ幸いです。あと、極めてさりげない形でハイキュー!!の名言を紹介しています。 ViewData vs ViewBag 両方とも、Controller/View 層でデータを渡したいときに使います。違いは型の安全性です。ViewData はキャストか型変換が必要です。どちら
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
Azure WebJobs を利用した開発を行うことが増えてきたので、開発と運用時に便利そうな情報をまとめておくことにします。今回は WebJobs SDK についてはまとめて扱うことにします。 今回扱っている内容は以下の通りです。Kudu 側に少し偏っているかもしれません。 トリガー実行 引数付きでトリガー実行 スケジュール実行 トリガー実行後の Webhook Visual Studio からのデプロイ ソース管理からのデプロイ Web App へのデプロイ時の注意 HTTP リクエストのパススルー ログ出力の方法 複数の実行ファイルがある場合の指定 設定ファイルについて WebJob のスケールアウト シングルトンとして実行 Graceful Shutdown の実装 Azure WebJobs SDK を使う 公式ドキュメント 目次記法を初めて使ってみました。長い記事を書いた時には
サロゲートペアや結合文字が含まれているか調べるString型の文字列にサロゲートペアや結合文字が含まれていると、非常に厄介です。これらを考慮しないでコードを書くと、文字列にこれらの文字が入っているときに、不具合が生じるかもしれません。ここでは文字列内にサロゲートペアや結合文字が含まれているかを調べる方法を紹介します。 サロゲートペアが含まれているか調べる通常は、1つのChar値で1つの文字を表現します。ところがサロゲートペア(代用対)は、2つのChar値を使って1つの文字を表現します。サロゲートペアの例としては、魚のホッケ(魚へんに花)(文字コードはU+29E3D)や、牛丼の吉野家の「よし」の字(土に口)(文字コードはU+20BB7)などがあります。ホッケの場合はU+D867とU+DE3D、「よし」の場合はU+D842とU+DFB7の2つのChar値を使って表現します。 サロゲートペアにつ
この記事は下記のページを参考にしています。正式版 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# 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 の時にも似たような)細々とした便利な
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#開発者にとってはやはり重要なアップデートとなっている。 そして、これら
今年も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をネット経由で叩くと
さて、まさかのMSの大鉈連発に、TL大騒ぎでございます。まさかOSS化まで入ってるとは僕も思ってなかった。MSクラスタですらもざわざわである。 んで、今回の決定が意味することをちょっと考察してみたいなーと。備忘録的にね。 あくまで 私的感想です。鵜呑みにしないように。 何が起こったのか 11/12日(米国現地時間),Microsoft Connect();というイベントの中での発表でございました。 詳しくは、Public Keyさんを参照するのが良いと思います。 [速報]マイクロソフト、サーバサイドの「.NET Core Rutime」と「.NET Framework」のオープンソース化を発表。C#コンパイラやASP.NETなど [速報]マイクロソフト、「.NET server framework」のLinuxとMacOS X用オフィシャルディストリビューションを発表。.NETアプリケーシ
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
うむ、シンプル。要素数が違ってても少ない方に合わせてくれます。 Java7以前 の場合 reactive4java というライブラリがありまして、これは Java で Reactive 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
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
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 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
.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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く