滅入るんるん

何か書きます

C#

BenchmarkDotNetを.NET Frameworkと.NET Coreで走らせる方法

C#でベンチマークを取る際に非常に楽に実施できるツールのBenchmarkDotNetで.NET Frameworkと.NET Core両方でベンチマークを取る方法がわかったのでメモ取っておきます。内容はBenchmarkDotNetのFAQに書いてあります。(ちゃんとFAQ読め案件)ベンチマーク対象…

.NET Standardで埋め込みリソースを読み込む方法

Xamarin.Formsを使う場合、共通リソースはPCLや.NET Standardで管理したいですよね。それを実現する一つの手段としてリソースを埋め込むという手法があります。脳死でネットを検索するとPCLでの場合は出てきますが、最近のトレンドは.NET Standardなので、そ…

【C#】Generic indexersが欲しい

C#

突然ですが、ふとこんなコードを T Get(string key) { ... } こんな風に T this[string key] { get { ... } } 書きたくなったことありませんか?私はあります。generic methodをgeneric indexerにできるだろうと、試してみるもコンパイルエラー。比較的優秀…

【C#】コンストラクタで参照渡しできた話と出力変数宣言できるようになる話

C#

よく++C++; // 未確認飛行 Cにはお世話になっていますが、その中のC#7.3新機能説明(式中での変数宣言をできる箇所の拡大)について、お恥ずかしながらよくわからないC#コードがあり、新たな発見をしたので、その報告をします。式中での変数宣言(使える場所の…

Kotlinを学ぶにはC#を勉強したほうがいい(SequenceとLINQ)

タイトル半分ぐらい釣りです(半分大真面目)最初に断っておきますが、Kotlinを勉強するのに必ずしもC#を勉強したほうがいいわけではありません、もちろんVB.NETでも概念は学べますし代替手段はいくらでもあると思います。そこで、なぜC#を勉強したほうがとい…

【C#】配列はIListを実装していた

C#

小ネタはい、久しぶりのC#記事です。1カ月ぶりかな?その間にいろいろとネタは集めたのでちょっとずつ書き出していきます。 まずは、上の画像を見てください。パターンマッチングでIList<string>してからstring[]が重複ケースで失敗しています。これを逆にすると問題</string>…

【Java】Project ValhallaはとてもC#を意識している

小ネタJavaのアップデート予定?方針?の一つのProject ValhallaでのJEP 218: Generics over Primitive Types、つまりジェネリクスでプリミティブ型=>値型のサポートを強化しようというもの(ざっくりした説明)においての話です。ページを見てもらえばすぐわ…

【C#】MvvmLightとReactivePropertyでMVVMしてみる① - MvvmLightのテンプレプロジェクトを作るまで

今週からは勉強もかねてMvvmLight+ReactivePropertyでMVVMプロジェクトを作ってみようと思います。ReactivePropertyでMVVMはしたことあるのですが、ReactivePropertyだけでは比較的軽量のためMVVMするにはUnity(DIのほう)などを入れたり自作でヘルパーを作っ…

C# 8.0に追加されそうな小さな機能候補

C#

今週はネタに困ったのでcharplangでC# 8.0に追加されそうな小さな機能でも紹介しようと思います。ちなみに、C# 8.0で追加されそうな機能の一覧はここで見れます。 Champion "Null-coalescing assignments" 日本語で直訳するとNull合体割り当てですが、意味的…

ReactivePropertyにプルリク出した話

C#

今週のC#はReactivePropertyにプルリク出した話にします。まず、プルリク出すまでの経緯ですが、前々からReactivePropertySlimの軽さについて調査してみようと思っていたので(怠慢で予定より3週間遅い)、今週こそは!とXamarin.Androidプロジェクトで軽い模…

拡張メソッドでboolにNot()を生やすとどの程度パフォーマンスに影響があるのか調べてみた

C#

はい、昨日書いた記事(if(flag == true)はありなのか?なしなのか?)で気になったので調査してみました。ベンチマークには前々から使ってみたかったBenchmarkDotNetを使います。同じプログラムの相対比較なのでマシンスペックには影響されないと思いますが、…

if(flag == true)はありなのか?なしなのか?

最近バズってるようなので便乗ちなみに元ネタはこちらだとおもいます→qiita - Javaではif (flag == true)というコードを書いてはいけない※真偽値としてのネーミングとしてflagはナシだろ~~wという話はナシでお願いします※以下flag変数は真偽値とします結…

KotlinはどれほどC#を意識しているか?

今週のC#記事はKotlinがどれほどC#を意識しているかにします。(Bloggerを開く前まではReactivePropertySlimがどれだけ軽くなったのか調べて書こうかなと思ってたのですが新鮮なネタのほうから書くことにします)新鮮なネタと言ってますが、あくまで自分の中で…

【C#】async/awaitの挙動をTask-Likeとawaitableパターンで変えてみる

C#

卒論でそういうことをやったので書いておきます。(卒論で作ったプログラム)まずはasync/awaitの基礎部分から(全部説明するとは言っていない) public static async Task Sample() { int simpleResult = await Simple(); int distributedResult = await Distri…

Bloggerのコードハイライトにhighlight.jsを使ってみる

前回の投稿でBloggerでのコードハイライトをどうしようかと書きましたが、やっぱりhighlight.jsが手っ取り早くて簡単かなと。。。ちょうどCDNで提供してるところがあったので使わせてもらうことにします。当分の間はこんな感じで <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>

何か書きます

C#

昔作ってたサイトでいろいろ記事書いていましたが、Github Pagesを使うとめんどくさくてほとんど更新できてなかったので今後はこっちに書こうかなと思います(めんどくさい理由の大半がWyamのビルドなんですけどね、便利なんだからどこかホスティングサービス…