- 2016.09.05
- .NET Framework,
[C#] 拡張メソッドの使い方
拡張メソッドとは 拡張メソッドとは、既存の型(クラス)に対して、の元の型の変更や継承をすることなく、新たなメソッドを追加する仕組みです。 実際には既存の型に対して、静的メソッドを追加し、インスタンスメソッドと同じ構文で呼び出すことができるようになります。 インスタンスメソッドのように書けるので、いちいち引数に渡したりする手間もなく便利です。 C#, VB.NET ともに拡張メソッドを同じように使う […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
拡張メソッドとは 拡張メソッドとは、既存の型(クラス)に対して、の元の型の変更や継承をすることなく、新たなメソッドを追加する仕組みです。 実際には既存の型に対して、静的メソッドを追加し、インスタンスメソッドと同じ構文で呼び出すことができるようになります。 インスタンスメソッドのように書けるので、いちいち引数に渡したりする手間もなく便利です。 C#, VB.NET ともに拡張メソッドを同じように使う […]
Excel VBA(マクロ) を実行する方法 C#あるいはVB.NETのプログラム側から、Excel VBA のメソッドを実行する方法を調べました。 Excel以外にもAccessでも同じようにVBAのメソッドを呼び出せると思います。 前提条件 マクロ側でメソッドを実行できるようにセキュリティを設定します。 マクロを実行するため、実行環境にExcelがインストールされている必要があります。 プロジ […]
C# で UnixTime を変換する方法 UnixTimeとは、1970年1月1日からの経過秒数で表される日付の形式です。文字通りUnix系のOSで使われる表現方法でもあります。 .NET4.6以降では、標準での変換方法が提供されていますが、それ以前では変換関数を用意する必要があります。 DateTime型からUnixTimeへの変換とその逆の変換について、サンプルを以下に示します。 .NET […]
正規表現のサンプル いろいろなデータ形式についての正規表現をまとめます。一応それっぽくまとめているので参考程度にどうぞ。 .NET と Javascript をよく使うので、どちらでも使えるサンプルを用意しました。 .NET と Javascript の正規表現では、微妙にメタ文字の意味等が異なったりしますが、とりあえずは同じようにマッチします。 厳密ではありませんが、どちらでもだいたい問題なくマ […]
NULL(Nothing)の扱いについて C#/VB.NETにおいて、オブジェクトの中身がNULL(Nothing)の場合、そのオブジェクトを参照すると、NullReferenceExceptionの例外が発生してしまいます。つまり参照前にNULL判定をしてやる必要があります。 C#/VB.NETには、NULLの扱いについて、便利な演算子・構文がいろいろと追加されています。 NULL条件演算子(? […]
端数処理 C#およびVB.NETでの端数処理の方法についてまとめました。 数値等に対する処理(数学関連の機能)は、System.Mathクラスを利用します。 端数処理もそれぞれ用意されているのでそれを利用することになりますが、特に四捨五入と切り上げの処理については注意が必要です。 結論 結論を先にまとめてしまうと、端数処理はそれぞれ次のメソッドを使用することで対応できます。 切り上げ Math.C […]
ASP.NET MVC 5 開発メモ このサイトは ASP.NET MVC 5 で開発したのでその際に勉強したことを、忘れないように書き残します。 小規模の開発なら自動マイグレーションがとても便利でした。 自動マイグレーション設定 マイグレーションはデータベース(テーブルレイアウト)を作成/変更するための仕組みです。データベースを削除し再度作成すれば必要ないのですが、開発中だと頻繁にモデルの更新が […]
XMLとJSONを相互に変換する方法 JSON.NET を使えばXML形式のデータと、JSON形式のデータを相互に変換することが簡単にできます。Nugetで JSON.NET と検索してインストールすれば準備完了です。 XML・JSONの相互変換ツールで動作確認ができます。 仮に次のXMLとJSONを相互に変換します。 XML <?xml version="1.0" en […]
非同期制御について C#(VB.NET)で非同期処理の制御を行う場合、 async/await を使用するのが現在の主流です。 async/await を使用することでUIの応答を止めることなく処理を行えるので、ユーザビリティが向上します。 スレッドとスレッドプール スレッド(thread:糸、筋)とは一連の処理の流れを意味します。スレッドが一つ(シングルスレッド)の場合、複数の処理を上から順に実 […]
イテレータとは 英語で iterate は、繰り返しを意味します。つまりイテレータは「繰り返すためのもの」、みたいな意味でしょうか。 イテレータは、C#(.NET Framework)では列挙子と呼ばれ、IEnumeratorインターフェイスによってあらわされます。 イテレータを使うことで、コレクションクラスに対し要素を列挙することができるようになります。 つまり簡単に言うとforeach構文で処 […]