.net日记090225--C#初探
书接上回。
关于Visual Studio 2005
作为一个为.net量身定制的开发工具,其功能不可谓不强大。
关于工具没什么好说的,熟能生巧,多用就对了!
另外写了一段windows应用程序,只是试探性的,并不深入,以后会更详细的学习。
下面进入重点
关于C#
1.C#基础知识:
代码外观与java相似。C#忽略空白字符(空格、回车、Tab字符),决定了多个语句可以写在一行。每个语句必须用;结束。C#属于块结构语言,用{}界定。C#语句是区分大小写的,必须注意。
三种注释的方法:1./*内容*/2.//3.///(同//为单行注释,但可配置VS,提取这些注释的语句组成特殊格式的文本,可用于创建说明书等。)
一个关键字:#region语句#endregion,可将被包含的语句缩为一行,便于浏览代码。
2.C#的数据类型:
简单数据类型:数值,布尔值, 字符型,字符串。
数值:sbyte,byte,short,ushort,int,uint,long,ulong,float,double,decimal。
布尔值:true,false。
字符型:char。
字符串:string。
3.C#的变量:
变量命名:第一个字符必须是字母、下划线或者@。其后的字符可以是字母、数字、下划线。不能与已有关键字冲突。
字面值:数值型的字面值,注意有些带有后缀,例如:1.5f,100u,100l,1.5m。
字符或字符串的字面值,注意转义序列。例如:\\,\',\",\n,\0,\a,\b,\f,\r,\t,\v。
变量的声明和赋值: 变量必须声明且初始化之后才能使用。
声明格式:int a;int a,b;int a;int b;都是正确的。
声明的同时可以赋值,或者声明结束后再赋值:int a=1;int a=1,b=2;int a,b=2;都是正确的。
4.C#的运算符:
数学运算符:
+,-,*,/,%,[+,-(一元运算符,可理解我正负号)],++,--(操作数之前),++,--(操作数之后)
+用在字符串之间也有意义,即两个字符串的连接值。
++,--(操作数之前):先对操作数加减操作,然后做其他表达式操作。
++,--(操作数之后):先做表达式,最后在对操作数加减。
所以产生了很好玩的两个现象,看一下两个表达式:
int n1,n2=6;n1=n2++;那么最后:n1=6,n2=7;
再来:int n1,n2=6;n1=++n2;那么最后:n1=7,n2=7;--亦然。
看这个:int n1,n2=6,n3=7;n1=n2++*--n3;n1=?答案:36。该表达式涉及到运算符的优先级。
赋值运算符:
=,+=(也可用于字符串,同+),-+,*=,/=,%=。
运算符的优先级:(高->低)
++,--(前缀),+,-(一元)
*,/,%
+,-
=,*=,/=,%=,+=,-=
++,--(后缀)
优先级相同的运算符按照从左到右。
5.命名空间:
关键字:namespace
命名空间是程序代码的一种容器,可以唯一的标示代码内容。也可以作为.net Framework中给项分类的一种方式。
注意空间之间的互访及引用。 全局命名空间引用需使用分类空间的名称来引用比如:namespace1.name1,同空间中的引用则不需要空间名称。
在嵌套的命名空间中的引用:也需要通过命名空间的名称及所调用的名称来引用。
不同的命名空间中可以有相同名称。可独立使用互不干扰。
using语句:使用了using语句,则可直接访问该空间中的名称而无需在通过分类名称引用。这样的话,如果一旦当前using的空间中有与当前空间中相同的名称,那么就会出现冲突,而导致代码错误。这个时候我们可以给当前using的空间一个别名:using ns1=namespace1;
以上是今天的主要内容。命名空间因为少有实例只有理论而觉得有点绕,其余跟其他面向对象语言大同小异,故而容易理解。
练习一个,被我把例子都杂糅了进来:


6

7
namespace Ch03Ex018
{9
class Program10
{11
static void Main(string[] args)12
{13
double FristNum, SecondNum ,ThirdNum;14
String MyName ,YName=@"你\好";15
Console.WriteLine("\"你好\"");16
Console.WriteLine("请输入您的姓名:");17
MyName=Console.ReadLine();18
Console.WriteLine("欢迎你,{0}",MyName);19
Console.WriteLine("请输入第一个数:");20
FristNum = Convert.ToDouble(Console.ReadLine());21
Console.WriteLine("请输入第二个数:");22
SecondNum = Convert.ToDouble(Console.ReadLine());23
ThirdNum=FristNum++*--SecondNum;24
Console.WriteLine("{0}++*--{1}表达式的结果是:{2}", FristNum, SecondNum, ThirdNum);25
Console.WriteLine("FristNum变成了:{0}", FristNum);26
Console.WriteLine("第一个数与第二个数相加的结果是:{0}+{1}={2}", FristNum, SecondNum, FristNum + SecondNum);27
Console.WriteLine("第一个数与第二个数相减的结果是:{0}-{1}={2}", FristNum, SecondNum, FristNum - SecondNum);28
Console.WriteLine("第一个数与第二个数相乘的结果是:{0}*{1}={2}", FristNum, SecondNum, FristNum * SecondNum);29
Console.WriteLine("第一个数与第二个数相除的结果是:{0}/{1}={2}", FristNum, SecondNum, FristNum / SecondNum);30
Console.WriteLine("第一个数与第二个数求模的结果是:{0}%{1}={2}", FristNum, SecondNum, FristNum % SecondNum);31
Console.ReadKey();32
}33
}34
}35

今天先到这儿,明儿继续……
浙公网安备 33010602011771号