うに.log

作業した内容のまとめとか読んだ本のまとめとか。間違っていることがあったらツッコミとかがもらえるといいなぁという願望のもと、とりあえずやったこと、調べたこと、理解していることしていないことをだらだら書いていく。勉強用のブログ。

dotnet

C# - 名前空間について

一気に複数書こうと思ったけどボリューム的に厳しいので名前空間だけ。 名前空間 えっ、これ 1.x 系では無かったんだ!?ってなるくらい今では当たり前の言語機能。 これは 2.0 から使えるようになりました。 何ができるのか 名前空間を使うことで、クラスや…

C# 2.0 - ジェネリックについて

C# の古い仕様から順に雑にまとめていく予定。 ジェネリック Generics ジェネリックとは ジェネリックとは、クラスや構造体、関数に対して型のパラメータを持たせることができるようになる機能のことです。 実際には <T> や <T, U> <TKey, TValue>などの形式で見かけます。((T は Ty</tkey,></t,></t>…

C# 8 から導入された非同期ストリーム機能を使う

C# 8 以前では以下のような形で async/await を用いたコード上で yield return をすることはできなかった。 public async Task<IEnumerable<int>> GetHogesAsync() { var items = await GetItemsAsync(); foreach (var item in items) { yield return item + 10; // <- ここで</ienumerable<int>…

M1 MacBook Air で Visual Studio Code を使う

Visual Studio Code を入れる Experimental ではあるけどすでに ARM64 対応なものが出てきているのでそれを使う。 code.visualstudio.com コマンドからも使いたいので VSCode 上から使えるようにする。 Command + Shift + P を開いて shell と入力して最初に…

M1 MacBook Air で .NET 5 を使う

本記事執筆時点で .NET 5 は Apple Silicon に対応していない*1ので、利用する場合は x64 版を Rosetta2 で変換した上で使うことになります。 インストール方法 ここから対応するインストーラーを取得してインストール。 手動で導入したい場合はバイナリを配…