C#には、変数が使用前に初期化されていることを確認するための2つのメソッドがあります:
変数が明示的に初期化されていない場合、これらの変数がフィールドである場合。が作成されます。デフォルト値は 0 です。
メソッドのローカル変数は、ステートメントで使用する前にコード内で明示的に初期化する必要があります。初期化前にその値が使用されると、エラーが報告されます。
ローカル変数のスコープが競合する場合、CS0136エラーが報告されます。
フィールドがローカル変数と競合しているため、フィールドを非表示にし、このキーワードを使用して非表示のインスタンスフィールドにアクセスし、静的フィールドには object.fieldname を使用します。
定数は宣言時に初期化する必要があり、値を指定した後の変更は許可されません。
定数の値はコンパイル時の計算で使用する必要があり、変数から値を抽出することはできません。
定数は常に静的であり、static キーワードを使用して変更することはできません。
読みやすい
変更が簡単
間違い
値型と参照型
概念と格納方法の違いについては、第1章を参照してください。
オブジェクトを作成するには、 new キーワードを使用する必要があります。参照型を別の参照型に割り当てると、アドレスが変更されるだけであり、そのアドレスも変更されます。例:
Test x,y; x testX = new Test(); y testY = x; testX.value =1; //这条语句执行后testX与testY的value属性的值都会为
C# によって認識される基本的な事前定義型は C# には組み込まれていませんが、.NET Framework に組み込まれています。
Decimal は .NET Formework の組み込み型ではないため、パフォーマンスの低下を引き起こします。
bool 型では、0 を使って false を表したり、0 以外で true を表すことはできません。
すべての組み込み型は Object 型を継承します。
文字列の不変性:上記のコードのtestXとtestYが文字列型の場合、testXが指す文字列が変わるとマネージドヒープに新しい文字列が作成されてそれを指し、testYはそれを指すことになります。指す値は変更されません。
if 、else if 、else。
case文の値は定数式でなければならず、変数は使用できません。
与C++的区别:激活了前一个case不会自动激活后一个case,且每一个case必须用break否则报错;可以把字符串作为测试变量。
可以使用goto "标签"经行跳转。
case为空则不需要break。
循环
for 与 while的区别:for适合可预测次数的循环,while适合不可预测次数的循环。
foreach
要实现foreach的遍历,类中就必须实现IEnumerable接口。
foreach中不能改变每一项的值。
goto
break
跳出当前循环
continue
跳过此次循环
return
退出当前方法
一旦代码编辑好,枚举就成为基本类型。
与文件或组件不同,名称空间是一种逻辑组合,而不是物理组合。
一般名称空间可接受的格式为CompanyName.ProjectName.StstemSection。
名称空间别名的语法:
using slias = NamespaceName;
命名空间修饰符为 “::” 。
1 //using System; 2 using TestSystem = System; 3 4 namespace 命名空间别名 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 TestSystem::Console.WriteLine("This is a C# Progam"); 11 TestSystem.Console.ReadKey(); 12 } 13 } 14 }
命名空间别名演示
#if #elif 支持一组逻辑运算符“!”、“==”、“!+”、“||”。
可以包含数字字符,但是它们他们必须以字母或下划线开头。
不能使用C#关键字作标识符。
规则应该是一个正确的决策,而不是一种束缚。
Pascal:名称空间、类、函数名。
Camel:类中的字段(最好加“_”为前缀能更直观的知道这是个字段)、方法的参数。
名前/命名スタイルは、できるだけ一貫している必要があります。
ネームスペースは、.NET が共有アセンブリ内のオブジェクト名を区別する唯一の方法です。
Microsoft では、次の名前空間を使用することをお勧めします:
属性とメソッドの使用法
マイナスの影響があってはなりません。
プロパティは任意の順序で設定できます。
プロパティを順番に読み取っても、同じ効果が得られます。
フィールドの使用法
以上がC# 高度なプログラミング (2) - C# のコアを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。