.NET Core

C#である数列の内容を重複せずランダムに取り出す

前回書いたC#の乱数の作成を利用してある数列の内容を重複せずにランダムに取り出す方法を紹介したいと思います。 「同じ数字は出したくない」という場面で使用できるかと思います。 この実装を使用した場合の使用方法は以下の通りです。 public static void…

C#で乱数を作成する & 毎回異なるシードを指定する方法

C#(Unity以外/.NET FM, .NET Core)で乱数を生成するには、System.Randum クラスを使用します。 Randomクラスの基本的な使い方 短時間でRandomクラスを複数インスタンス化すると乱数が同値になる 回避案(1) Randomクラスのインスタンスを全体で使いまわす …

C#でGUIDをToStringするときに使用できる書式

C#でGUID(128bit長の一意の識別子)を生成するには、標準ライブラリ内のGuidクラス(System名前空間内)を使用します。 using System; public static void Main(string[] args) { Guid id = Guid.NewGuid(); Console.WriteLine(id.ToString()); // c1b2e279…

C#でEnumに付与した属性と属性の値を取得する

タイトルの通り、C#で自分で作成したEnum型に属性を付与し、その属性を取得およびその属性の値の取得をしたいと思います。 属性をオブジェクトとして取得して内容を取り出す流れになります。 対象の型の準備 値を取得する拡張メソッドの作成 拡張メソッドの…

C#でListの内の要素をforeach中に削除する

結論から言うと、foreachの中でリストの要素を削除するのは無理です。諦めましょう。*1 代替手段 (1) for文を逆順で回す (2) RemoveAllメソッドで削除 (3) Whereで抜粋する (4) 自作する foreachの右辺でToArray() + Removeはやめましょう 削除しようとする…

C#でリトルエンディアンをビッグエンディアンに変換する

タイトルの通り変換をするための操作の紹介をしたいと思います。 まず、誤解を恐れずに言うと、ネットワークにデータを流すときは「ビッグエンディアン」形式、いつも使ってるPC上(のC#の内部表現)では「リトルエンディアン」形式が使われています。 更に…

ASP.NET Core を Windowsサービス化する

今回の記事、果たしてこんな事して意味があるのか不明です。 ただ、コンシューマ向けのWindowsに搭載のIISはExpress版なので多少制限があってそれを、ASP.NET CoreのKestrelを使って回避しようとした時に、Window上でサービス化してみたのでその手順をまとめ…

.NET と.NET Coreで定義ファイルを読む

.NETのアプリケーションにはアプリケーション設定ファイルから定義を読み取る機能が付いています。自作の定義フォーマットを作成せずとも定義が読み込めたりします。 そこで、.NET Framework と.NET Coreの両方から読み取ってみようと思います。 .NET Framew…