C#

【C#】foreach文でもindexは使用できる!

Select()を使うことで、foreach文内でインデックス(何番目の要素か?)を使用できる!コレクション(配列やリスト)の各要素を使って何かしらの処理を行いたいとき、foreach文を使うことでfor文に比べて簡潔に書くことができます。...
プログラミング

UML図の作成に有用!VisualStudioCode+Draw.ioを使ってみる

仕事でUML図(クラス図やシーケンス図など)を書くことがあります。以前はExcelを使ってUML図を作成していましたが、かなり面倒な作業でした。たとえばクラス図を作る際には、セルの横幅を調整したり矢印でつなげるために背景色を透明にした図形を...
C#

【C#】コレクションの変化を監視できる「ObsevableCollection<T>」の使い方

コレクションに対してなにかしらの操作(追加や削除など)をしたときに、なにかしらの処理を行いたいことがあります。そんなときはObservableCollection<T>を使用すると便利です。ちなみにObservableCollection<...
C#

【C#】GroupBy()を使用したリストのグループ分け

LINQのGroupByメソッドを使用することで、リストを特定のプロパティの値でグループ分けすることができます。やりたいこと以下のプロパティを持つProductクラスがあります。ID名前(Name)カテゴリー(Category)価格(Pri...
C#

【C#】拡張メソッドを使用して「列挙値のパターンマッチ」を簡潔にする。

※全ソースコードは記事の最後のほうにあります。例がちょっとわかりずらかったです。内容は間違っていませんがもうすこしわかりやすいように変更しようかなと思っています。問題点利き手を表す列挙型DominantHandのプロパティを持つクラスhum...
C#

【C#】要素数の取得にWhere()は不要。Count()の引数で対応可能

あるリストにたいして「特定の条件にあう要素の個数」を取得したい時があると思います。単純に考えると以下の手順で処理を行うでしょう。Where()で条件にあう要素のみ抽出する。Count()で個数を取得する。public class Progr...
C#

【C#】リストの末尾を消去する(LINQ)

LINQを使ってリストの末尾を消去する方法を紹介します。RemoveAt()|元のリスト自体を変更するリストに対してRemoveAt(リストの要素数 - 1)を呼び出すことで、そのリスト自体の末尾を削除できます。public class P...
C#

【C#】LINQを使って「三角数列(数値リストの先頭から各項までの合計の数値リスト)」を作る。

非常に言葉で説明するのは難しいのですが、ある数値リストがあったとき、そのリストの各項までの合計値を持つリストを作る処理を紹介します(どうやら「三角数列」と呼ぶらしいです)。イメージは以下の通りです。List<int> {1 ,2 ,3 ,4...
未分類

【C#】サブフォルダも含めたファイル一覧取得

フォルダ内のファイル(絶対パス)を一覧取得するには、Directory.EnumerateFiles()を使用します。引数としてSearchOption列挙型を指定できます。SearchOption.AllDirectoriesを指定すると...
C#

【C#】仮引数にデフォルト値を設定する

ども、村正です。今回はメソッドの仮引数に「デフォルト値」を設定する方法について紹介していきます。仮引数にデフォルト値を設定する仮引数にデフォルト値を設定することで「値が指定されなかった場合は、その値(デフォルト値)を仮引数に格納して処理する...