C#

1/6ページ
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 […]

C#

[C#] EPPlusでExcelの基本操作

EPPlusとは EPPlusはOpen Office Xml形式(xlsx)を使用してExcel 2007/2010ファイルを読み書きする.NETライブラリです。GNUライブラリ一般公衆利用許諾(LGPL)に基づいてライセンスされています。 COM(Microsoft.Office.Interop.Excel)を使う必要はありません。旧形式(xls)ファイルは扱えませんので注意が必要です。 似た […]

C#

[.NET] Directory.Deleteで削除が非同期(時間差)で完了する

Directory.Deleteで削除されない .NETには ディレクトリを削除する Directory.Deleteメソッドがあります。このメソッドの挙動で戸惑った点があったのでメモ代わりに書き残します。 やりたかったこと まず第一にやりたかったことは、「ディレクトリ内のファイルをすべて削除する」ということです。ここで私は面倒くさいので「ディレクトリごと消して、そのあとディレクトリを作成する」と […]

1 6