C#C#2017-04-03#defineディレクティブC##defineディレクティブは、シンボルを定義するときに使う・・・。ファイルの先頭にしか定義できない・・・。(コメントとかぐらいは上にあっても大丈夫みたい・・・。usingとかよりは上・・・。共通データ型と...#defineディレクティブ2017-04-02#ifディレクティブC#C#にもプリプロセスがある・・・。#ifディレクティブは、指定されたシンボルが定義されているときに、#endifまでのプログラムがコンパイル対象となる・・・。C言語やC++と違い、マクロの定義ができないので、マクロの値ではなく、シンボルが定義されている...#ifディレクティブ2017-03-30eventC#delegate型変数をクラスのメンバフィールドに用意しておけば、コールバック関数を実装できる・・・。publicでdelegate型変数を公開すると、直接的に中の関数を実行されてしまう・・・。いって、privateにすると、実行するハンドラ関数を登録でき...event2017-03-27マルチキャストデリゲートC#デリゲートには、複数のメソッドを登録できる・・・。これをマルチキャストデリゲートという・・・。+演算子や+=演算子を使える・・・。...マルチキャストデリゲート2017-03-26delegateC#デリゲートは、簡単に言うとメソッドを格納する特殊なオブジェクトで、C言語の関数ポインタ、C++の関数オブジェクトのようなもの・・・。delegateをつけることで、このような引数型と戻り値型のメ...delegate2017-03-11インデクサC#インデクサは、プロパティを拡張したようなもので、オブジェクトのメンバに配列のような添字でアクセスできる・・・。プロパティと同じく、getとsetでアクセス制限もできる・・・。オブジェクトの中に、配列やリストのようなコレクションをメンバ...インデクサ2017-03-10usingステートメントC#これまで、Disposeによるリソース解放は、finallyで手動で行うような形になっていた・・・。usingステートメントを使うと、IDisposableインターフェイス実装オブジェクトについては、finallyがなくても自動でリソース解放してくれる・・・。CustomReader.cs...usingステートメント2017-03-08finallyC#finallyは、tryブロックの中で例外が発生しても発生しなくても実行すべき処理を書く場所・・・。今回は、2つのファイルを連続して読み込んで内容を出力・・・。2つ目で例外が発生しても、1つ目のファイルを閉じる処理は実行するような形にする・・・。Mai...finally2015-07-30例外処理C#C#の例外処理も、基本的にはJava、C++と同じような感じ・・・。tryブロックで、System.Console.ReadLineで標準入力を読み込み、int.Parseで整数値にして、xに代入する・・・。(System.Console.ReadLineや、intをクラスみたいに扱える理由とかは、後々で・・...例外処理2015-07-29プロパティC#これまで、privateメンバにアクセスできるメソッドとして"SetXXX"や"GetXXX"などのいわゆるsetter/getterというものを定義してきた・・・。これらが何故存在するかというと、渡された値を設定時や取得時にチェックして問題があれば別の処理ができるところに...プロパティ2015-07-28interfaceC#インターフェイスももちろん作れる・・・。先頭にinterfaceをつけるだけ・・・。BaseClassを、とする・・・。iとstrに値をセットするこれまでのもの・・・。ここで数値なら加算、文字列なら連結をするインターフェイスIAddを宣言・・・。iとstrそれ...interface2015-07-27abstractC#C#も抽象クラスを作れる・・・。先頭にabstractとつけると、抽象クラスとなる・・・。コンストラクタ名やメソッド名を出力しているだけ・・・。した実装は、派生クラスDerivedClassで・・・。Setだけわざとオーバーライドしていない・・・。抽象ク...abstract2015-07-26virtualC#派生クラスメソッドの定義による基底クラスメソッドの隠蔽はnewで行った・・・。newでは、派生クラスメソッドが呼ばれるか、基底クラスメソッドが呼ばれるかはインスタンスを代入したオブジェクト変数の型によって決まる・・・。Deri...virtual2015-07-25new修飾子C#いきなり結構飛ぶけど・・・。基底クラスを継承した派生クラスを定義するとき、基底クラスと同じ名前のメンバ(メソッドの場合は引数の数や型も)を定義すると、派生クラスオブジェクトからは派生クラスで定義したメソッドが実行される・・・。このとき、基底...new修飾子2015-07-24foreach文C#同じ型のデータを複数まとめたものをコレクションといい、配列もその一つ・・・。前回は配列から値を取り出すのにfor文を使ったが、配列を含めコレクションならforeach文が使えるので、今回はそれで値を取り出す・・・。配列に値をセットするところまでは同...foreach文2015-07-23配列C#配列を定義して、値をセットしたり、値の中身を出力したりしてみる・・・。newで要素数5の配列arrayを生成・・・。arrayの各要素に適当に値を代入していく・・・。for文とConsole.WriteLineで、各要素の値を出力・・・。array[2]...配列2015-07-22refC#C#で、変数などをメソッドへ参照渡しする場合は、refを使う・・・。2つの変数の値を交換するSwapメソッドを作ってみる・・・。aを10、bを20とする・・・。この時点でそれぞれの値を出力・・・。Swapメソッドを呼ぶ・・・。参照渡しする場合、変数の前にref...ref2015-07-21コンストラクタC#コンストラクタで初期化処理を定義する・・・。引数なしのコンストラクタでは、iを0、strを"-"に初期化する・・・。引数付きのコンストラクタでは、渡されたnをiに、sをstrに代入する・・・。この辺は変わりない・・・。MainClassでは、Class1オブジェクトcl...コンストラクタ2015-07-20クラスC#自らクラスを定義し、そのクラスのオブジェクトを使ってみる・・・。Class1クラスを定義・・・。文字列を先程のiとstrにセットするメソッドSetを定義・・・。WriteLineでiとst...クラス2015-07-19bool型C#ここからC#・・・。C#でも真偽値を持つbool型を使える・・・。bool型変数をb1からb3まで用意・・・。b2はfalseに初期化・・・。あと、int型xを10に初期化・・・。b1にtrueを代入・・・。xが10と...bool型2014-12-15MainメソッドC#C#はJavaなどと同じようにクラスで構成されている・・・。メインクラスとなるクラスのMainメソッドがエントリポイントとなる・・・。コンソールに"MainMethod"と表示するプログラムを作ってみる・・・。プロジェクトを新規作成する・・・。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。