ネコのために鐘は鳴る

寺院に住み着くパソコ〇好き

2023-01-01から1年間の記事一覧

(C#) ジェネリック型制約違いのオーバーロード

小ネタです。 C# でジェネリックメソッドには型制約をつけることができます。 この時、C# ではシグネチャ (メソッド名、引数、戻り値など) が同じでジェネリック型制約のみが異なるメソッドはオーバーロードとして書くことができません。 public static void…

(C#) ValueTuple のサイズとレイアウト

突然ですが、C# で sizeof((byte, int)) の値はいくつでしょう?(64bit 環境) byte が1バイト、int が4バイト、つまり (byte, int) は5バイト……ではないです。 答えは8バイト。アライメント上に乗るようにパディングがあるからですね。 0 1 2 3 4 5 6 7 byte…

WGSL 仕様メモ

WGSL WGSL (WebGPU Shader Language) の文法や仕様の日本語解説が少ないので自分用メモ。仕様を網羅しているわけではなく、自分が書く上で必要そうな部分を適当に抜粋してまとめた。 Tour of WGSL と WGSL の仕様 から日本語に訳して簡単にまとめた。 仕様は…

(C#) オブジェクトの破棄の可否を型で制限する

Dispose による破棄 C# で明示的に破棄が必要なオブジェクトは、一般的に IDisposable インターフェースによって破棄メソッドを提供します。 public sealed class MyObject : IDisposable { public void Dispose() { // 破棄処理 } } ところが C# の Dispose…