Csharp

提供: xField wiki
ナビゲーションに移動 検索に移動

C#

Tips[編集]

エクセルファイル作成[編集]

EPPLus
NPOI
ClosedXML
NetOffice - クライアントサイド

XLSX (OpenXML)[編集]

C#でExcel 2007形式のファイルを出力する
サーバーサイドでEXCELを読み込む(NPOI、EPPlus)
サーバーサイドでEXCELを読み込む(ClosedXML)
サーバー側でExcelを作ってみる(EPPlusで)

ExcelファイルをPDFに変換する[編集]

Office 2007を使用する[編集]

C#でExcelファイルをPDFに変換する
C#でWordファイルをPDFに変換する
複数のCOMオブジェクトを確実に解放する

BullZipを使用する[編集]

C#というか.NETでExcelやWordをプログラマブルにPDF化する(BullZip)

元号管理[編集]

Windowsや.NETの元号管理について

DataGridView[編集]

DataGridView

CellValidatingが発生しないことがある[編集]

DataGridViewのイベント発生順序について

ComboBoxColumn[編集]

DataGridViewの、DataGridViewComboBoxColumnについて

シリアライズ、デシリアライズ[編集]

.NET(C#)におけるシリアライザのパフォーマンス比較
シリアライズ不可なオブジェクトをシリアライズ/デシリアライズする. (シリアル化サロゲート, ISerializationSurrogate, SurrogateSelector, SerializationInfo, StreamingContext)

スクレイピング[編集]

C#でスクレイピング:HTMLパース(Linq to Html)のためのSGMLReader利用法

DataTable[編集]

DataRowの列データへアクセスする方法と速度

LINQ to SQL[編集]

LINQ to SQL の実行速度を3倍に加速するっ!

ループ処理[編集]

第3回 新しい繰り返しのスタイル - yield return文とForEachメソッド

リフレクション[編集]

リフレクションでの呼び出しはメソッドの直接呼び出しよりかなり遅いですが、それを普通に複数回呼び出すとかなりのロスになります。
そこでDelegateにして呼び出すと早くなるということらしいです。

何故かというとMethodInfoを直接呼ぶ場合、毎回レイトバインディングされている
状態ですが、Delegateを構築して呼ぶ場合、レイトバインディングが発生するのは
Delegateを構築する最初の一回のみです。後はDelegateを呼んでいるだけです。

リフレクションの動的実行時のパフォーマンスを上げる方法について (System.Reflection, MethodInfo.Invoke, Delegates, Late Binding, Dynamic Invocations, 速度)

年2桁を4桁に変換するときのルール[編集]

OSの設定に基本的には従う
コントロールパネル - 時計、言語、および地域 - 地域(日付、時刻、または数値の形式の変更) - 追加の設定
ダイアログの日付タブのカレンダー枠内にある
Calendar.TwoDigitYearMaxプロパティで設定を確認、変更できる
ただし、例外にInvalidOperationException(現在の Calendar オブジェクトが読み取り専用です。)
という文言があるので変更ができないことがあるかもしれない(未検証)
Calendar.TwoDigitYearMax プロパティ

Linq to Sql / EF6 メソッド対比[編集]

Linq to Sql / EF6 メソッド対比
SubmitChanges() SaveChanges()
GetTable<TEntity>() Set<TEntity>()