13,000
回編集
細 (文字列「<source」を「<syntaxhighlight」に置換) |
細 (文字列「</source>」を「</syntaxhighlight>」に置換) |
||
45行目: | 45行目: | ||
var sx = 1; // int型 | var sx = 1; // int型 | ||
dynamic dx = 1; // dynamic型 | dynamic dx = 1; // dynamic型 | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
C# 3.0以前のような静的型付け言語では、オブジェクトがどのような名前のプロパティやメソッドを持っているかをコンパイル時に知る必要がある。<br> | C# 3.0以前のような静的型付け言語では、オブジェクトがどのような名前のプロパティやメソッドを持っているかをコンパイル時に知る必要がある。<br> | ||
54行目: | 54行目: | ||
return obj.X; | return obj.X; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
C# 4.0以降では、dynamic型を使用することで、以下のように記述できる。<br> | C# 4.0以降では、dynamic型を使用することで、以下のように記述できる。<br> | ||
63行目: | 63行目: | ||
return obj.X; | return obj.X; | ||
} | } | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
詳細を知りたい場合は、dynamicを参照すること。<br> | 詳細を知りたい場合は、dynamicを参照すること。<br> | ||
82行目: | 82行目: | ||
int s2 = Sum(1); // Sum(1, 0, 0); と同じ | int s2 = Sum(1); // Sum(1, 0, 0); と同じ | ||
int s3 = Sum(1, 2); // Sum(1, 2, 0); と同じ | int s3 = Sum(1, 2); // Sum(1, 2, 0); と同じ | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
'''名前付き引数'''<br> | '''名前付き引数'''<br> | ||
92行目: | 92行目: | ||
int s2 = Sum(y: 1, z: 2, x: 3); // Sum(3, 1, 2); と同じ | int s2 = Sum(y: 1, z: 2, x: 3); // Sum(3, 1, 2); と同じ | ||
int s3 = Sum(y: 1); // Sum(0, 1, 0); と同じ | int s3 = Sum(y: 1); // Sum(0, 1, 0); と同じ | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
詳細を知りたい場合は、オプション引数・名前付き引数を参照すること。<br> | 詳細を知りたい場合は、オプション引数・名前付き引数を参照すること。<br> | ||
108行目: | 108行目: | ||
// foreach (object x in strings) ってやっても問題ないんだから、 | // foreach (object x in strings) ってやっても問題ないんだから、 | ||
// objs に strings を代入しても OK。 | // objs に strings を代入しても OK。 | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
入力(引数またはプロパティのset)でのみ使用する場合は、型にinを記述することで反変性が認められる。<br> | 入力(引数またはプロパティのset)でのみ使用する場合は、型にinを記述することで反変性が認められる。<br> | ||
118行目: | 118行目: | ||
// objAction("string"); ってやっても問題ないんだから、 | // objAction("string"); ってやっても問題ないんだから、 | ||
// strAction に objAction を代入しても OK。 | // strAction に objAction を代入しても OK。 | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
詳細を知りたい場合は、ジェネリクスの共変性と反変性を参照すること。<br> | 詳細を知りたい場合は、ジェネリクスの共変性と反変性を参照すること。<br> |