じゃがいも畑

開発ネタの記録

C#

【C#】一番手っ取り早いSystem.Text.Jsonのデシリアライズ

C#

年に1回ぐらいJsonを扱うんだけど、毎回忘れるので手順を残します Jsonのデシリアライズでつまずきたくない人向け ※サンプル作成にあたり、以下のWebサイト様&WebAPIを使用させていただきました ありがとうございました blog.tsukumijima.net デシリアライズ…

【C#】異なるn個のものからr個選ぶ組み合わせを列挙する(Combination)

C#

作ったもの 入力のリストと選ぶ個数を渡すと組み合わせを列挙してくれるCombinationクラスを作りました ほんとはyield returnで作って拡張メソッドにしたかったんですが、生成速度が遅くなる(自分の実力不足)のと動きが追っかけにくいのでこの形にしました …

C# doubleをintにキャストするときはちゃんとMath.Roundする

C#

タイトルそのままの記事です docs.microsoft.com 問題のコード 1.01から10.0まで、それぞれに100を掛けた値を整数で出力するプログラム double value = 1.01; while (value < 10.0) { var result = value * 100; Console.WriteLine($"{result} --- Cast --->…

C# 2次元リストのコピー

C#

C# でリストAの中身をリストBにコピーしてリストBで値の変更などをしたい場合、以下のようにすれば値渡しでコピーができる var listA = new List<int> { 1, 2, 3 }; var listB = new List<int>(listA); // 値渡し // listB = listAは参照渡し listB[0] = 3; listB[1] =</int></int>…

C#の文字列連結(+, string.Join, StringBuilder)

C#

最近C#の文字列連結を適当に書いてやらかしちゃったので反省のためにまとめる 検証環境はC# .Net Core 3.1 やらかしたコード var outText = ""; foreach(var i in Enumerable.Range(1, N)) { outText += i.ToString() + " "; } リストの中身を文字列に変換し…

C# WPF enumに属性を付けてComboBoxにバインドして便利に使う

参考元 こちらの記事を参考にさせていただきました qiita.com qiita.com できること ↓のような感じで項目名と属性で追加情報を付けたenumを定義しておけば public enum Fruit { 未選択, [Price("\\150"), Color(KnownColor.Red), ResourceName("apple.png")]…

ReactivePropertyの便利メソッド(ToReactivePropertyとToReactivePropertyAsSynchronized)

名前が長くて呼び出し方をよく忘れてしまいますが、ViewModelとModelで片方向・双方向バインドができてとても便利です なるべく短くまとめたいと思います ToReactiveProperty系メソッド ToReactiveProperty ToReadOnlyReactiveProperty ToReadOnlyReactivePr…

WPFのMVVMでイベントを処理する方法いろいろ

最近PrismやらReactive Propertyやら勉強中なので忘れないように書いていきます コードビハインド Prism Reactive Property を使ってイベントを処理するサンプルを作成しました サンプルコードはこちら github.com 開発環境はVisual Studio Community 2019で…