CATEGORY

システムエンジニアリング

C#: サロゲートペアを考慮したUnicodeコードポイント変換

C#の文字列はUTF-16を使用しているので、UnicodeとUTF-16を中心とした話になります。 要約 Unicodeに関する前提知識 Unicodeでは各国で使用する文字一覧を定義(符号化文字集合)しており、U+01234等のコードポイントで文字を識別する。 Unicodeの文字をコンピュータで表現する方法(文字符号化方式)として、UTF-8, UTF-16, UTF-32等が決められている […]

Excel VBAで独自形式のCSVファイルを作成

概要 ExcelはRFC4180に準拠したCSV出力が可能ですが、逆にRFC4180に準拠しない独自形式のCSV出力はできません。 そのため、ここではExcel VBAを使って独自のCSVファイルを出力するサンプルを紹介します。 サンプルの内容を少々変更すれば、タブ区切りファイル(TSV)やSQLインサート文の作成等にも対応できます。このように応用する前提のサンプルであるため、可能な限りシンプルに […]

.NET Core(C#): List・HashSetのContains性能比較

対象データが処理対象かの判定、データのユニーク化等の用途で、コレクション内のデータ存在チェックを行いたい場合があります。これを実現するために、List/Dictionary等のコレクションクラスのContains()メソッドを使用することになります。 ここでは、各コレクションクラスにおけるContainsの性能測定を行いました。 要約 測定条件は次の通りです。 コレクションから文字列キーを検索する […]

eclipseエラー: There is ‘1’ error in ‘javaee_…

事象 eclipseのバージョンアップ後、それまでエラーなくビルドできていたfaces-config.xmlで次のエラーが発生する。 There is '1' error in 'javaee_8.xsd'. 改行する、空白を入れる、等の適当な編集を行い、保存すると解消するが、eclipseを再起動すると再び表示される。 使用しているEclipseのバージョンは次の通りです。 Eclipse ID […]

.NET Core(C#): 配列/List/Dictionary/HashSet変換方法

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2019(16.8.5) + C#(8.0) パッケージ Microsoft.NET.Test.Sdk 16.10.0 xunit 2.4.1 xunit.runner.visualstudio 2.4.3 Moq 4.16.1 実 […]

C#: Moqを使ったモック・スタブ作成方法

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2019(16.8.5) + C#(8.0) パッケージ Microsoft.NET.Test.Sdk 16.10.0 xunit 2.4.1 xunit.runner.visualstudio 2.4.3 Moq 4.16.1 完 […]

Excelで大量データから重複値を検索する方法

100万件程の大量データの中で重複するデータを見つける方法を紹介します。 前提条件 検証で使用した環境は次の通りです。 RAND()関数で作成した約100万件(Excelの最大行数となる1,048,576個)のデータを使用しています。 PC AMD Ryzen 5 3400G, メモリ: 16GB, SSD: 256GB OS Windows 10(64ビット) Office Microsoft […]

.NET Core(C#): xUnitのAssert使用方法

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2019(16.8.5) + C#(8.0) パッケージ Microsoft.NET.Test.Sdk 16.10.0 xunit 2.4.1 xunit.runner.visualstudio 2.4.3 “Asser […]

.NET Core(C#): enumで文字列を保持

はじめに サンプルは.NET Core 3.1 + C# 8.0で動作確認しています。 列挙体Enumの基本的な使い方はリファレンスやこちらのサンプルをご覧ください。 完全なソースコードはこちらで公開しています。 リンク サンプル カスタムの属性を定義し、列挙体の各値に表示名・文字列値を設定できるるようにするサンプルです。設定した表示値・文字列値は列挙体の拡張メソッドで取得できるようにします。 実 […]