C#クラスコンパイルコマンドラインおよび変数役割ドメインの研究


簡単なウィジェットを例に挙げて説明します.
public class Program 
{
void Main(string[] args)
{
Console.WriteLine("Welcome, Miracle He");
Console.ReadLine();
}
}

以下のコマンドラインを使用して、上記のプログラムをコンパイルできます.
csc Welcome.cs:  Welcome.exe

csc /t:library Welcome.cs:  Welcome.dll

csc /out:My.exe Welcome.cs:  My.exe

csc /t:library /out:Welcome.debug.exe /warn:0 /nologo /debug *.cs:  Welcome ( )

csc /t:library /out:Welcome.xyz *.cs:  Welcome.xyz dll 


注:csc.ExceはC:WindowsMicrosoftにあります.NETFrameworkバージョン番号は、VS.Netコンパイラがクラス名ではなくファイル名のみを認識していることを示します.つまり、ファイル名とクラス名が一致せず、同じファイルで複数のクラスを定義できます.ただし、ファイル名はクラス名と一致し、クラスは1つだけ含まれることが望ましい.
C#変数の役割ドメインの研究
1.変数宣言には値を割り当てる必要があります.varは自動的に認識できますが、ローカル変数はvar宣言を使用することはできません.同じ行で複数の変数を宣言できます.
int i = 0, age = 28; 
var i = 0, age = 28;//
public abstract void Write(string name);

2.変数は、それを含む領域(すなわち{}間)でのみ有効であり、宣言後にのみ使用できます.クラスのフィールドは、使用後に宣言できます.
public class Test
{
public void MethodA()
{
int n = 0;//n
Console.WriteLine(str);// test
}
public void MethodB()
{
n = 1;// n
}
string str = "test";//
}

3.フィールドとローカル変数が競合すると、ローカル変数はフィールドの値を上書きします.このフィールドの値を使用する場合はstaticまたはthisを使用して取得できます.
public class Test 
{
static int x = 5;
public static void TestStatic()
{
int x = 10;
Console.WriteLine(x);// 10
Console.WriteLine(Test.x);// 5
}
string y = "test";
public void TestInstance()
{
string y = "test1";
Console.WriteLine(y);// test1
Console.WriteLine(this.y);// test
}
}