变量的初始化和作用域
初始化
C#有两个要领能够一确保变量在运用行举行了初始化:
变量是字段,假如没有显式初始化,建立这些变量时,其默认值为0。
要领的局部变量必需在代码中显式初始化,以后才能在语句中运用,假如在初始化之前运用了他的值,报错。
作用域
假如局部变量作用域争执,报CS0136错。
字段与局部变量争执,隐蔽掉字段,接见被隐蔽的实例字段用this关键字,静态字段运用object.fieldname。
常量
常量的特性:
常量必需在声明时初始化,指定其值后将不许可变动。
常量的值必需在编译时用于盘算,不能从变量中提取值。
常量老是静态的,不许可运用static关键字举行润饰。
常量的长处:
易于浏览
易于修正
易于防止失足
预定义数据范例
值范例与援用范例
观点与存储要领的区分,参考第一章。
援用范例
要建立对象必需运用new关键字,将一个援用范例赋值给另一个援用范例获得的只是它的地点,会跟着它的变动而变动。如:
Test x,y; x testX = new Test(); y testY = x; testX.value =1; //这条语句实行后testX与testY的value属性的值都会为
CTS范例
C#承认的基础预定义范例并没有内置在C#中,而是内置于.NET Framework中。
decimal不是.NET Formework中内置范例,会形成机能丧失。
bool范例不能用0来示意false,非0示意true。
一切内置范例都继续Object范例。
string 的不可变性:如上述代码中的testX和testY假如他们是string范例,当testX所指向的string转变时,会从新在托管堆中建立出一个新的string并指向它,testY所指向的值也就不会被变动。
流掌握
前提语句
if ,else if,else。
switch语句
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#编程划定规矩
标识符划定规矩
能够包括数字字符,然则它们他们必需以字母或下划线开首。
不能运用C#关键字作标识符。
用户商定
划定规矩应该是一个准确的决议计划,而不是一种约束。
定名商定
Pascal:称号空间、类、函数名。
Camel:类中的字段(最好加“_”为前缀能更直观的晓得这是个字段)、要领的参数。
称号作风
称号/定名的作风应该只管保持一致。
定名空间的称号
定名空间是.NET区分同享递次集合对象名的唯一要领。
Microsoft发起运用以下称号空间:<CompanyName>.<TechnologyName>
称号和关键字
略
属性和要领的运用
假如该对象的表面像一个对象,就用属性来示意它,即:
客户端医改能读取它的值,最好不要运用只写属性。
读取该值不该该花他长时间。
不该有负面效应。
能够按恣意递次设置属性。
递次读取属性也应该有雷同的结果。
字段的用法
字段总应该是私有的。
2016-05-07 22:29:18
以上就是C#高等编程(二)-中心C#的详解的细致内容,更多请关注ki4网别的相干文章!