「C Sharp」の版間の差分

ナビゲーションに移動 検索に移動
1,269 バイト追加 、 1 か月前
(→‎var: C#には、C言語でいうところの「グローバル変数」は無い。開発元のマイクロソフトの公式ドキュメントでも、そう明言されています)
 
:<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には、型推論のほかにも、色々な意味があります。
 
=== タプル ===
23,090

回編集

案内メニュー