23,090
回編集
(→var: C#には、C言語でいうところの「グローバル変数」は無い。開発元のマイクロソフトの公式ドキュメントでも、そう明言されています) |
(→var) |
||
:<syntaxhighlight lang="csharp">
// エラーになる
using System;
これはつまりC#では、すべての変数は、なんらかのクラスに属するメンバです。
もしC#でどこからもアクセスしたい変数を定義したい場合は(ただし同じソースコードファイル内)、下記コードのように単に public class でクラス宣言しておいて、必要に応じてクラス内の変数宣言で static 修飾子をつけて宣言すればいいだけである。
別ファイルからのアクセスについては、初心者レベルを越えるので、ここでの説明は省略する。▼
:<syntaxhighlight lang="csharp">
using System;
// このクラス testval がどこからでもアクセスできて書き換え可能
public class testval{
public static int a = 3;
public static int b =15;
}
public class sample {
public static void Main(string[] args) {
Console.WriteLine(testval.a);
testval.a = 203;
testval.b = 215;
Console.WriteLine(testval.a);
}
}
</syntaxhighlight>
; 実行結果 :<syntaxhighlight lang="text">
3
203
</syntaxhighlight>
上記のような、どこからでもアクセスできるstatic変数をどう使うかについては、初心者には高度なので、クラスの節で別途に説明する。
また、クラス側では変数宣言 var は不要です。新しく定義したクラス内で var で型推論をしようとするとエラーになります。
下記のように、「ローカル変数でないものをvarで宣言するな」(意訳)とコンパイラに叱られます。
<pre>
test.cs(5,19): error CS0825: The contextual keyword `var' may only appear within a local variable declaration
</pre>
このように、varには、型推論のほかにも、色々な意味があります。
=== タプル ===
|
回編集