rksoftware

Visual Studio とか C# とかが好きです

2023-12-01から1ヶ月間の記事一覧

2023 年のまとめ

あけましておめでとうございます。今年もよろしくお願いいたします。 というわけで 2023 年のまとめをしたいと思います。 ■ コミュニティ コミュニティ活動は引き続き C# Tokyo をずっとやっていました。 C# Tokyo は現在のメンバー数 1709 名。 今年のイベ…

ちよくる

ちよくる。今更使い始めてみました。 人によっては、ドコモ・バイクシェアサービスという認識をしているかもしれませんね。 docomo-cycle.jp 今まで、使う機会がなくて。基本電車で移動するしあまり都心で街から街へ移動するという機会もなかったので。しか…

実行タイミングのわかりにくいコードを書こう! 静的コンストラクター と モジュール初期化子

C#

C# には静的コンストラクターという機能があります。きっと書いたことがある人の方が少ない機能だと思います。 そして、モジュール初期化子というのもあります。こっちはさらに書いたことがある人が少ない機能だと思います。 静的コンストラクター learn.mic…

.NET Aspire のコンテナ部分

以前、.NET Aspire を動かしてみました。 rksoftware.hatenablog.com その際、Blazor のフロントエンドと、API のバックエンド、テレメトリーの送信、Redis コンテナがセットになったテンプレートがその形態の一つだとわかりました。 しかし、コンテナが見つ…

.NET Aspire を動かしてみる

.NET Conf 2023 で突然現れた .NET Aspire とは何なのでしょうか? 正直まったく分かっていません。大きすぎることと、細かいことは多少わかるのですが、何なのかというところが何よりまったくわかりません! 動かしてみる というわけでとりあえず動かしてみ…

キャストと as と TryParse

C#

最近計測に凝っているので、キャストと as と TryParse も計測してみました。 キャストが一番早いのは当然として、as と TryParse が条件によって違う結果に。 int を object にしてからまた int に戻す際、as より TryParse の方が早いと。この経験がが役に…

public static void Method(this ref string s)

C#

拡張メソッドの引数に ref 参照型 public static void Method(this ref string s) ってできないんですね。値型ならできますけれど。 Console.WriteLine(); static class Class { public static int Method(this object o) => 0; public static int MethodRef…

メソッドの引数の型違いでパフォーマンス計測 (3)

C#

前回メソッドの引数は object 型 > int 型 > ref int 型 で左に行くほど遅いと予想したので、雑に書いてみました。 以前の記事 rksoftware.hatenablog.com rksoftware.hatenablog.com 検証コード namespace ClassLibrary1; public static class MethodExtens…

メソッドの引数の型違いでパフォーマンス計測 (2)

C#

メソッドの引数の違いでのパフォーマンス計測をして見始めました。 rksoftware.hatenablog.com 計測には BenchmarkDotNet ( NuGet Gallery | BenchmarkDotNet 0.13.11 ) を使用してみました。 今回は、メソッドの定義上の引数の型でなく、実際に引数に渡す変…

メソッドの引数の型違いでパフォーマンス計測

C# の引数の型が違うメソッドを用意してパフォーマンス計測をしてみます。 計測には BenchmarkDotNet ( NuGet Gallery | BenchmarkDotNet 0.13.11 ) を使用してみました。 ■ 検証対象コード 引数違いで 3 つのメソッドを用意してみました。object 型のものと…

C# のオーバーロードの確認 (継承の親子関係の型の引数)

C#

多くのプログラミング言語に、メソッドのオーバーロードという機能があります。当然 C# にもあります。 今回はそんなオーバーロードについて、そうだろうと思いつつ試していなかったことを試していきたいと思います。 ■ まずはオーバーロードとは メソッドの…

docker のイメージの中の sdk をコマンドとして使う。

まとめ Windows 上に C:\Dev\app フォルダがあるとします。 docker run --rm -v "C:\Dev\app:/app" -w /app mcr.microsoft.com/dotnet/sdk dotnet new console ls ./app docker run --rm -v "C:\Dev\app:/app" -w /app mcr.microsoft.com/dotnet/sdk dotnet …

Docke Desktop をインストールする

前回 WSL2 をインストールしたので、今回は Windows 11 Home に Docker Desktop をインストールしてみます。 まとめ 今回やったことは、 インストーラーをダウンロードしてインストール Docker のアカウントを作成 Docker Desktop アプリにサインイン です。…

WSL2 を Surface (Windows 11 Home) にインストールする

普段 Windows の Home エディションを触る機会はなかなかないと思います。そんなレアな体験の話です。 まとめ 今回やったことは、ストアがら Ubuntu を入手して wsl --install コマンドだけです。簡単ですね。 ■ 世間の噂 世間では Home エディションだと世…

Visual Studio の 17.8.3 がリリースされました

Visual Studio のアップデート 17.8.3 がリリースされました。 今回はそれほど急ぐ必要はなさそうです。が、折角だからすぐにアップデートしましょう。 更新内容 ■ 機能の追加 今回は機能の追加は無いようです。 ■ 問題の解決 razor をリンク ファイルや Sha…

GitHub Copilot はじめました

時は大 Copilot 時代! あの会社もこの会社も、あの人もこの人も全員 Copilot です。Copilot じゃないのは私だけ。 というわけで今日は GitHub Copilot を始めてみたいと思います。 ■ GitHub Copilot のライセンス 個人ライセンスと組織のライセンスがあるみ…