「C Sharp/変数」の版間の差分

削除された内容 追加された内容
Kyube (トーク | 投稿記録)
Algol68, Pascal, Delphi, APL などの反例あり
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
1 行
=== 変数の宣言 ===
==== 型推論 var ====
変数の宣言の際、intやcharなどの具体的な型を指定しなくても、宣言時の代入初期化で具体的な数値または文字列の代入初期化といっしょにvar とだけ指定すれば、代入されるデータ初期値から型を自動的に判断してくれます。なおvarとは「変数」を意味する英語 variable (ヴァリアブル)の略です。
 
:<syntaxhighlight lang="csharp" highlight="5,9,13,17">
using System;
 
public class sample {
public static void Main(string[] args) {
 
var a = 4;
Console.WriteLine(a);
24 ⟶ 23行目:
Console.WriteLine(d);
Console.WriteLine( d.GetType() );
 
}
}
43 ⟶ 41行目:
C#9 以降、下記のように簡略できます。
:<syntaxhighlight lang="csharp">
var a = 4;
Console.WriteLine(a);
Console.WriteLine( a.GetType() );
61 ⟶ 59行目:
 
 
どちらにせよ、右辺初期値のない状態でvarキーワードを使うとエラーになり、コンパイルできません。
error CS0818: An implicitly typed local variable declarator must include an initializer
varキーワードは右辺初期値から型を推論するキーワードなので、その右辺初期値そのものが無いと推論できないからです。
 
ほか、あるオブジェクトの型を取得するには、そのオブジェクトから .GetType() メソッドを使います。あるオブジェクトを指定してメソッドを使うには、<code>オブジェクト名.メソッド名()</code>の表記で実行します。