C#

【VS】【C#】【VB】XMLドキュメントコメント(XMLコードコメント)

C#

■ コメント http://www.atmarkit.co.jp/fdotnet/teamdev/teamdev02/teamdev02_04.html より抜粋 * C#では「///(スラッシュ3つ)」から始める * VBでは「'''(シングルクォーテーション3つ)」から始める 主なXMLコメント * <summary> : 概要 * <remarks> : 解説 * <param> : メソッドの引</param></remarks></summary>…

【デザインパターン】【C#】Factory Method パターン

■ FactoryMethod パターン 説明 普通、オブジェクトを生成する場合、以下のように行う ==== Class1 obj = new Class1(); ==== しかし、FactoryMethod パターンでは以下のようにメソッドを使用して行う ==== Class1 obj = CreateClass1(); ==== オブジェクト…

【C#】Dictionary (ディクショナリ)

C#

■ 使用上の注意 ★重要★ Dictionary へのデータ追加について * dict.Add() と dict[] だと、キーが重複してた際に以下のような違いがある ~~~~~ [1] dict.Add() の場合、例外が発生(以下「※例外内容」を参照) [2] dict[]の場合、上書き ※例外内容 System…

【C#】Delegate / Event ~ 入門編 / Event ~

C#

■ はじめに https://dk521123.hatenablog.com/entry/2010/12/12/164101 の続き。 今度は、Event (イベント)について、取り上げる。 ■ イベント * あるクラスで発生したイベントを、他のクラスに伝えるために使用 ■ 利用手順 1)デリゲートの定義 2)イベン…

【C#】Delegate / Event ~ 入門編 / Delegate ~

C#

■ はじめに Delegate について、学んでいく 補足:Delegate の英語的意味 (名) 代表者、使節 (動) 委任する、代表を立てる ■ デリゲート (delegate) デリゲートを使うと、イベントを作成する(処理を渡す)ことが可能 * デリゲート : 委譲(=他のものに譲って…

【C#】コンストラクタ / デストラクタ

C#

■ コンストラクタ * C#のコンストラクタは、Javaとは異なるのでメモ。 ■ :this() * 別のコンストラクタを呼び出す サンプル public class SampleConstractorClass { public SampleConstractorClass() { Console.WriteLine("Call!"); } public SampleConstrac…

【C#】色々なプロパティ ~ Environment / Application ~

C#

■ ユーザ名 * 以下の関連記事を参照 【C#】ユーザ情報取得 ~ コンピュータ名 etc ~ https://blogs.yahoo.co.jp/dk521123/23844430.html ■ 改行コードを取得 * Environment.NewLineプロパティを利用する * OS環境ごとの違いを意識せずに、改行コードを利用…

【C#】Null許容型(Nullable 型)

C#

Null許容型(Nullable 型) 例1 Nullもデータとして格納できるようにするには、型のすぐ右に「?」を入れように型宣言する int? x = 123; 例2 以下でも同じ Nullable<int> 123; プロパティ * HasValue : 有効な(null でない)値を持っていれば true、それ以外は fal</int>…

【C#】Delegate / Event ~ 基本編 ~

C#

■ はじめに https://dk521123.hatenablog.com/entry/2010/12/12/164101 https://dk521123.hatenablog.com/entry/2010/12/25/221009 の続き。 目次 【1】イベントを登録する 【2】イベントが発生したオブジェクトを判別する 【1】イベントを登録する // 初…

【C#】IS演算子 / AS演算子 / GetType().Name / Typeof ~キャスト関連の処理~

C#

[1] IS演算子 * データ型を判断するために使用 * Javaの「instanceof演算子」に相当(関連記事を参照のこと) * 構文は「オブジェクト is 型」でbool型を返す * ほかにもtypeof、GetType()などがあるが、GetType()はオブジェクトがnullの場合使えないので、IS…

【C#】paritial (パーシャル)

C#

■ paritial * クラスを複数のファイルに記述することができる ⇒ 「paritial」をクラス宣言に書き加えるだけ * Windowsフォームなどで使われており、 イベントハンドラとフォームデザイン部分を分けるのに使われている ■ サンプル public partial class Sampl…

【C#】バイナリファイル の扱い

C#

■ バイナリ を扱うメソッド バイナリファイル の扱い * FileStreamクラスを利用する 例 var buffer = new byte[fileStream.Length]; fileStream.Read(buffer, 0, buffer.Length); https://docs.microsoft.com/ja-jp/dotnet/api/system.io.filestream.read?vi…

【C#】staticについて

C#

staticについて 静的クラス 静的クラス * 静的クラスの初期化で、(当たり前かもしれないが)コンストラクタを使用することはできない * 静的クラスの初期化は、静的コンストラクタ(static constructor)を使う 例 public static class SampleStaticClass { s…

【C#】C# ~ Linq / 入門編 ~

C#

【1】Linq * Linq = Language Integrated Query:統合言語クエリ) cf. Query (クエリ) = 問い合わせ * 配列/Collection/DBなどのデータの集まりから、 情報を効率よく取り出すことのできる機能 【2】利点 * ラムダ式(※1)を使って、複雑な処理を簡潔に書…

【C#】【VisualStudio】デバッグビルド / リリースビルド

C#

■ リリース/デバッグビルドの違い https://msdn.microsoft.com/ja-jp/library/dykf6bx9.aspx より、大きな違いは下記4点。 [1] ヒープ レイアウト [2] コンパイル [3] ポインター サポート [4] 最適化 [1] ヒープ レイアウト * デバッグでは動作するがリリー…

【C#】独自例外

C#

C# の 独自例外 ポイント [1] 独自例外クラスに、 System.ApplicationException を継承させる [2] 独自例外クラスのコンストラクタに、親のコンストラクタ呼び出すようにする (以下サンプル参照) サンプル class MyException : System.ApplicationException …

【C#】C# ~ ラムダ式 ~

C#

【1】ラムダ式 * メソッドを宣言することなく、簡略化にして記述できる 【2】比較 例1:メンバーの値を返す場合 [1] 従来の書き方 // メソッドを普通に記述 int GetAge(Person p) { return p.Age; } [2] ラムダ式 // メソッドをラムダ式で記述 // ※ 引数…

【C#】文字列(String)の扱いについて

C#

数値を様々な書式でフォーマットで出力 * string.Format()を使用する 例1-1:0埋めのファイル名を指定したい場合 int num = 12; string str = string.Format("FileName{0:D6}.txt", num); // str = "FileName000012.txt"; 例1-2:0埋めのファイル名を指定し…

【C#】定数(readonly, const)

C#

【1】 readonly サンプル public readonly int x = 0; 【2】 const サンプル public const int x = 0; ■ 定数あれこれ ローカル変数にreadonlyを使えるか? * 基本使えない * const は使える 参考文献 http://d.hatena.ne.jp/griefworker/20100816/csharp_…