Movatterモバイル変換


[0]ホーム

URL:


Logo

目次

ライセンスに関して

置いてあるサンプルはMIT/X ライセンスに準拠ということでお願いします。

他のページのサンプル

サイト内の他のページにもいくつか C# サンプルプログラムがあります。

XSL 変換一斉適用

フォルダ中にある XML ファイルに一斉に XSL 変換をかけます。

ソースファイル(zip形式書庫)

オセロ

名前の通り、オセロです。今のところローカルコンピュータ上での人対人のみで、ネットワーク対戦やコンピュータ戦は出来ません。

ソースファイル(zip形式書庫)

複素数クラス

複素数をクラス化してみました。実用品ではなくて、実装の隠蔽・抽象基底クラスからの継承のサンプルとして作りました。以下のような2つの方法で実装しています。

  • 実部・虚部をメンバーとして持つ複素数クラスCartesianComplex

  • 絶対値・偏角をメンバーとして持つ複素数クラスPolarComplex

また、これらのクラスをComplex という抽象基底クラスから派生させています。

ソースファイル(zip形式書庫)

ラインアート

僕はGUI開発環境の提供されているプログラミング言語を新しく覚えるたびにラインアートを作っています。ほとんど同じプログラムを作ることでその言語の善し悪しを見比べているのですが、今まで作った中でC#はもっとも作成が容易でした。

作るの楽だし、ちょっと凝ったものを作ってみようということで、右クリックメニューで設定画面開けるようにしたり、設定(線の本数、頂点の数、画面サイズ等)を XML で保存して、次回起動時に設定を読み出すようにしてみました。

ソースファイル(zip形式書庫)

ビットフィールド

研究室の課題で Verilog HDL でソース書いてたんですが、途中で、エラーチェック甘いし動作の重たいシミュレーションツールにぶち切れて、ソフトウェアでアルゴリズムのチェックをしてから HDL 記述を書くことにしました。その際に作ったのが、Verilog の変数みたいなビット操作を行うことの出来るビットフィールドクラスです。

このビットフィールドクラスの例を以下にあげます。

Verilog風記述BitFieldクラス
wire [31:0]w;BitField w = BitField.Create(31, 0);
assign w = x[4:0];w.Assign(x[4, 0]);
assign w = {x, y, z};w.Assign(BitField.Concat(x, y, z));
assign w = {w[0], w[31:1]};w.Assign(BitField.Concat(w[0], w[31, 1]));
assign w[0] = x[0] & y[0];w[0] = x[0] & y[0];
assign w[4:0] = x[4:0] & y[4:0];w[4, 0].Assign(x[4, 0] & y[4, 0])

ソースファイル(zip形式書庫)

WCF デモ

更新履歴

更新:言語バージョンの指定

[C#]

ファイル ベース実行

[C#]

C# 14.0 の新機能

[C#]

更新:[雑記] オーバーロード解決

[C#]

型の分割定義 (partial)

[C#]

ブログ

C# 14 の破壊的変更点(First-class Span)

ファイナライザー

文字列リテラルを data セクションに UTF-8 で書き込む案

nameof(T<>)

First-class な Span 型


誤字等を見つけた場合や、ご意見・ご要望がございましたら、GitHub の Issues まで気兼ねなくご連絡ください。

[8]ページ先頭

©2009-2025 Movatter.jp