C#

10/10ページ
C#

[C#] checked で算術オーバーフローをチェックして検出する方法

C# でオーバーフローを検出する 基本的に C# では、数値計算で算術オーバーフローが発生すると、格納先の型に収まらない上位ビットが破棄されてしまいます。この時、算術オーバーフローは例外とてキャッチできないので、これを検出することが難しくなります。 そこで checked コンテキストを設定することで、算術オーバーフローによって例外(System.OverflowException)を発生させるこ […]

C#

ClosedXML 印刷範囲を設定する方法(印刷範囲が壊れる対処)

ClosedXML で行を挿入すると印刷範囲が壊れる Excelで印刷範囲が設定された箇所に行を挿入したら、印刷範囲が壊れてしまいました。ClosedXMLは行の挿入があまりよくないという感じがします。 しかたないので印刷範囲を再設定して対応することにしました。以下、ClosedXMLで印刷範囲を設定する方法です。 ClosedXML で印刷範囲を設定する方法 Print Areas and Pa […]

C#

[VS] JSON, XML から クラスの定義を自動生成する方法

JSON, XML から クラスの定義を自動生成する方法 動作確認環境は Visual Studio 2015, C# です。 Visual Studio の貼り付け機能の1つに、JSONもしくはXMLからクラス定義を自動生成して貼り付けてくれる機能があります。 JSON 例えば次のようなJSON形式のテキストをクリップボードにコピーします。 { "name": "太 […]

C#

[C#] Base64のアルゴリズムをを実装する

Base64 のエンコード・デコード Base64 というエンコード方式をC#で実装します。Base64は、64種類の印字可能な英数字のみを用いてエンコードします。 Quoted-printable と同じくメール送信時のエンコードとして用いられるほか、Basic認証や画像ファイルの埋め込みなどにも用いられています。 ここでは、Base64のエンコード・デコード処理を独自に実装していきます。 なお […]

C#

[C#] Brainfuckのインタプリタ実装方法

Brainfuck とは Brainfuck – Wikipedia Brainfuck とは、難解プログラミング言語のひとつで、Brainfuckで書かれたソースコードは可読性が低く難解なものになります。 例えば "HelloWorld" と出力するためのソースコードは次のようになります。可読性・記述性が低く何をやっているのかわかりません。 ++++++++[&g […]

C#

[C#] 1次元セルオートマトンの実装

1次元セルオートマトンとは セル・オートマトン – Wikipedia ライフゲームに代表されるような2次元のセルオートマトンは、2次元平面上にセルを構成します。一方、1次元セルオートマトンでは1次元の線上セルを並べてセルを構成します。 セルは2つの状態(1 or 0)をとることができ、隣接するセルの状態と合わせて次世代の状態を決定します。 隣接するセルを含めた3つのセルをまとめて近傍 […]

C#

[C#] QuotedPrintable エンコード・デコードの実装方法

Quoted-Printableとは Quoted-Printable とは、Ascii文字しか扱えない電子メールの送信などでよく使われる符号化方式の一種です。Ascii文字以外を印字可能な文字に変換(エンコード)します。 同じように電子メールのエンコードに用いられるBase64と比べ、Ascii文字はそのままなのである程度読める形でデータがエンコードされます。一方で、バイナリ形式やAscii文字 […]

C#

[C#] 参照渡しの方法と out, ref 修飾子の違い

C# の参照渡し C#の参照渡しには、引数にref修飾子もしくはout修飾子を使います。 ref C# で参照渡しを行うには、ref修飾子を使います。ref修飾子を付けて引数を渡すことで、値ではなく変数の参照が渡ります。 ref修飾子はメソッドの定義と呼び出し元の双方で明示的にrefを指定する必要があります。 例えば、引数の値をインクリメントするようなメソッドを考えます。 using System […]

1 10