[C#][VB.NET] TextFieldParserでCSV(TSV)ファイルを読み込む方法
TextFieldParserでCSV(TSV)を読み込む方法 C#あるいはVB.NETでCSV(TSV)ファイルを扱うときに、TextFieldParserを使う方法を紹介します。CSVファイルを読み込んで処理するときに、単純に1行ずつ読み込んでカンマで分割してやる方法でも良いのですが、引用符(“”)つまりダブルクォーテーションで囲まれていたり、フィールド内に改行がある場 […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
TextFieldParserでCSV(TSV)を読み込む方法 C#あるいはVB.NETでCSV(TSV)ファイルを扱うときに、TextFieldParserを使う方法を紹介します。CSVファイルを読み込んで処理するときに、単純に1行ずつ読み込んでカンマで分割してやる方法でも良いのですが、引用符(“”)つまりダブルクォーテーションで囲まれていたり、フィールド内に改行がある場 […]
.NETでのZIPファイルの制御 C#あるいはVB.NETのプログラムから、ファイルのZIP圧縮・解凍を行う方法をまとめました。 調べてみると.NET Framework 4.5以降からZIPファイル制御用のクラスが追加されていました。 .NET Framework 4.0以前の環境では別の方法を用いる必要があります。 外部のライブラリやJ#ライブラリを使用する方法があるそうですが未確認です。 そ […]
拡張メソッドとは 拡張メソッドとは、既存の型(クラス)に対して、の元の型の変更や継承をすることなく、新たなメソッドを追加する仕組みです。 実際には既存の型に対して、静的メソッドを追加し、インスタンスメソッドと同じ構文で呼び出すことができるようになります。 インスタンスメソッドのように書けるので、いちいち引数に渡したりする手間もなく便利です。 C#, VB.NET ともに拡張メソッドを同じように使う […]
モンテカルロ法とは モンテカルロ法 とは、乱数を使っていろいろ計算してみよう、みたいなことです。詳しくはWikipediaをご覧下さい。 モンテカルロ法のアルゴリズムを使って、円周率πを計算してみます。 円周率πのを求める考え方 1辺が1の正方形を用意します。 そこに半径1の円の1/4を書きます。 正方形の内側にランダムに1点選び、円の内側かどうかを判定します。 3の処理をn回繰り返します。 円の […]
Excel VBA(マクロ) を実行する方法 C#あるいはVB.NETのプログラム側から、Excel VBA のメソッドを実行する方法を調べました。 Excel以外にもAccessでも同じようにVBAのメソッドを呼び出せると思います。 前提条件 マクロ側でメソッドを実行できるようにセキュリティを設定します。 マクロを実行するため、実行環境にExcelがインストールされている必要があります。 プロジ […]
XorShiftとは 疑似乱数生成方法の一つにXorshiftというものがあります。 wikipediaによると、Xorshiftとは、演算が排他的論理和とビットシフトのみであるため高速である、という特徴があります。 Xorshiftによる乱数生成をC#で書いてみました。 C#の実装例 public class Xorshift { // 内部メモリ private UInt32 x; priva […]
C# で UnixTime を変換する方法 UnixTimeとは、1970年1月1日からの経過秒数で表される日付の形式です。文字通りUnix系のOSで使われる表現方法でもあります。 .NET4.6以降では、標準での変換方法が提供されていますが、それ以前では変換関数を用意する必要があります。 DateTime型からUnixTimeへの変換とその逆の変換について、サンプルを以下に示します。 .NET […]
正規表現のサンプル いろいろなデータ形式についての正規表現をまとめます。一応それっぽくまとめているので参考程度にどうぞ。 .NET と Javascript をよく使うので、どちらでも使えるサンプルを用意しました。 .NET と Javascript の正規表現では、微妙にメタ文字の意味等が異なったりしますが、とりあえずは同じようにマッチします。 厳密ではありませんが、どちらでもだいたい問題なくマ […]
正規表現でHTML(XML)から指定のデータを取得したい C#/VB.NETでHTMLから指定タグの値や属性を取得するには正規表現が使えます。LINQ to XMLでもHTML(XML)から要素や属性の操作が可能ですが、不正なXMLドキュメントの場合にはうまく使えません。 Webページをスクレイピングする場合などは、必ずしも正しいHTMLとは限りません。閉じタグが抜けていたり、Javascript […]
NULL(Nothing)の扱いについて C#/VB.NETにおいて、オブジェクトの中身がNULL(Nothing)の場合、そのオブジェクトを参照すると、NullReferenceExceptionの例外が発生してしまいます。つまり参照前にNULL判定をしてやる必要があります。 C#/VB.NETには、NULLの扱いについて、便利な演算子・構文がいろいろと追加されています。 NULL条件演算子(? […]