2023-06-16から1日間の記事一覧

【C#】インスタンス作成速度の比較

C# で数通りあるインスタンス作成方法の処理速度の比較です。 前提条件・環境 環境は以下の通り Visual Studio 2019 + .NET Core 3.1 Windows10, Releaseビルドをコンソールから実行 動作検証 検証は BenchmarkDotNet を使用して検証は以下の通り実行します…

【C#】Windowsで使用できるファイル名かチェックする

C# で Windows 上で使用できるファイル名かどうかをチェックする実装です。 using System.IO; using System.Text.RegularExpressions; public class WindowsFileSystem { // 使用禁止文字 static readonly char[] invalidChars = Path.GetInvalidFileNameCha…

【C#】NuGetパッケージを再インストールする

環境 Windows10 VisualStudio 2019 状況 以下でパッケージのキャッシュをクリアしたらエラーが出て「発行」できなくなった。 ツール > オプション > NuGet パッケージ マネージャー > すべての NuGet キャッシュをクリア 次に、Webプロジェクトを発行すると…

【C#】BenchmarkDotNetを使って処理時間を計測する方法

C# の処理の実行時間の測定やメモリ使用量、GCの量を正確に計測できるライブラリ「BenchmarkDotNet」の最速セットアップ & 使用方法の紹介したいと思います。実行時間を測定するために Stopwatch クラスを使用する方法もありますが、このライブラリを使った…

【C#】ExceptionのMessageを後から変更する

C# でいちど作成した Exception の Message プロパティは get のみで後からメッセージを変更することができません。 今回は一度作成した Exception オブジェクトの Message を変更したいと思います。 確認環境 VisualStudio 2022 .NET 6 IDE上からDebug実行…