.NET 基础知识总结(更新)
2009-04-08 12:09
309 查看
1.C#变量-命名规则
变量的命名基本规则:
(1)变量名的第一个字符必须是字母,下划线("_")或@
(2)其后的字符可以是字母,下划线或数字。
另外,一些关键字对于C#编辑器而言有特定含义,如果错误使用其中一个关键字,编译器会出错。例如:using和namespace
例如:
下列变量名正确
myBigVar
VARI
_text
下列变量名不正确
99BottlesofBeer
namespace
It's-All-Over
变量命名的约定:
在看这个的时候一定要清楚,这些约定是有争议的(书上就这么说的)
(1)最流行的是Hungarian记号法
这种方法是在所有变量名前加上一个形式的前缀表示其类型。如:一个变量的类型是int,在其名称前加i或n(iAge),使用这个方法可以快速看出变量是什么类型。
缺点:由于C#可以创造自己的类型,且.NET Framework中有上百种复杂类型,所以这个系统很快失效了,在很多人完成的工作中,不同的人容易混淆不同的前缀。
(2) 目前.NET
Framework中的两种命名约定:PascalCase和camelCase.在名称中使用大小写表示它们的用途。它们都应用到多个单词组成的名称
中,并指定名称中的每个单词除第一个字母大写外,其余的字母均小写。在camelCase中还有一个规则,即第一个单词以小写字母开头。
下面是PascalCase变量名:
Age
LastName
TimeOfDiscontent
下面是camelCase变量名:
age
firstName
timeOfDeath
Microsoft建议:对于简单的变量用camelCase规则,比较高级的命名则用PascalCase
(3)注意:许多年以前命令系统常使用下划线字符作为变量名中各个单词之间的分隔符,如my_first_variable,这种方法已经淘汰了!
2.面向对象的继承,派生类,保护,私有变量的一个问题:
public class A
{
private int x;
static void F(A a, B b)
{
a.x = 1; // Ok
b.x = 1; // Ok
}
}
public class B: A
{
static void F(A a, B b)
{
a.x = 1; // 'A.x' is inaccessible due to its protection level
b.x = 1; // 'A.x' is inaccessible due to its protection level
}
}
-------------------------------------
public class A
{
protected int x;
static void F(A a, B b)
{
a.x = 1; // Ok
b.x = 1; // Ok
}
}
public class B: A
{
static void F(A a, B b)
{
a.x = 1; // Cannot access protected member 'A.x' via a qualifier of type 'A'; the qualifier must be of type 'B' (or derived from it)
b.x = 1; // Ok
}
}
在
变量的命名基本规则:
(1)变量名的第一个字符必须是字母,下划线("_")或@
(2)其后的字符可以是字母,下划线或数字。
另外,一些关键字对于C#编辑器而言有特定含义,如果错误使用其中一个关键字,编译器会出错。例如:using和namespace
例如:
下列变量名正确
myBigVar
VARI
_text
下列变量名不正确
99BottlesofBeer
namespace
It's-All-Over
变量命名的约定:
在看这个的时候一定要清楚,这些约定是有争议的(书上就这么说的)
(1)最流行的是Hungarian记号法
这种方法是在所有变量名前加上一个形式的前缀表示其类型。如:一个变量的类型是int,在其名称前加i或n(iAge),使用这个方法可以快速看出变量是什么类型。
缺点:由于C#可以创造自己的类型,且.NET Framework中有上百种复杂类型,所以这个系统很快失效了,在很多人完成的工作中,不同的人容易混淆不同的前缀。
(2) 目前.NET
Framework中的两种命名约定:PascalCase和camelCase.在名称中使用大小写表示它们的用途。它们都应用到多个单词组成的名称
中,并指定名称中的每个单词除第一个字母大写外,其余的字母均小写。在camelCase中还有一个规则,即第一个单词以小写字母开头。
下面是PascalCase变量名:
Age
LastName
TimeOfDiscontent
下面是camelCase变量名:
age
firstName
timeOfDeath
Microsoft建议:对于简单的变量用camelCase规则,比较高级的命名则用PascalCase
(3)注意:许多年以前命令系统常使用下划线字符作为变量名中各个单词之间的分隔符,如my_first_variable,这种方法已经淘汰了!
2.面向对象的继承,派生类,保护,私有变量的一个问题:
public class A
{
private int x;
static void F(A a, B b)
{
a.x = 1; // Ok
b.x = 1; // Ok
}
}
public class B: A
{
static void F(A a, B b)
{
a.x = 1; // 'A.x' is inaccessible due to its protection level
b.x = 1; // 'A.x' is inaccessible due to its protection level
}
}
-------------------------------------
public class A
{
protected int x;
static void F(A a, B b)
{
a.x = 1; // Ok
b.x = 1; // Ok
}
}
public class B: A
{
static void F(A a, B b)
{
a.x = 1; // Cannot access protected member 'A.x' via a qualifier of type 'A'; the qualifier must be of type 'B' (or derived from it)
b.x = 1; // Ok
}
}
在
A中可以通过
A和
B的实例访问
x,这是因为在两种情况下访问都通过
A的实例或从
A派生的类发生。但是在
B中,由于
A不从
B派生,所以不可能通过
A的实例访问
x。
相关文章推荐
- jQuery学习总结之基础知识----持续更新中
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- Java基础知识整理总结帖(更新中)
- 黑马程序员之 ASP.NET学习笔记:ADO.NET基础知识总结
- Java 基础知识总结--持续更新
- python基础知识总结(不断更新。。。。)
- python基础知识总结(不断更新)
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- ADO.Net常用基础知识总结
- Java千万不能忘记的基础知识总结(不定时更新)
- Java 基础知识总结--持续更新
- 【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结 —— 持续更新
- .NET Framework基础知识总结
- .net基础知识总结
- 基础知识总结【随时总结更新】
- C++基础知识易错点和易混淆总结汇总(不定时更新)
- ExtJS基础知识总结:常用控件使用方式(一)
- .NET基础知识04