------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
运算符、表达式
+、-、*(乘)、/(除)、%(求余)
+可以用作字符串运算,其他的运算符不可以,+做字符串运算是拼接字符串;
例如:string str1=“123”; string str2=“456”; string str3=str1+str2; str3是"123456"
++(自增)、--(自减)
(*)运算符优先级:i1+i2*i3、(i1+i2)*i3 ——括号是王道。
赋值
赋值运算符=,让左边变量的值等于右边的计算结果。这就能解释令人不解的i=i+1;
(*)+=、-=、*=、/=。
i2=i1++;i2=++i1 ——同理。
int i=10;int j=i;i=5;j=? —— j=10;
i 赋值给j是复制的一个i的副本,当把5重新赋值给i后,就还是原来的10.
int x=10;x+y=80;Console.WriteLine(y); x + y = 80; ——左边的必须是变量!!不能是常量,不能是表达式
交换两个变量的值:
int i=10; int j=20;int temp;
temp=i;
i=j;
j=temp;
布尔运算
相等判断:==,不要和=混淆。WriteLine("{0}",i==1);WriteLine("{0}",i=1);的区别。Console.WriteLine("{0}",i=1);//C#中赋值表达式也有值,它的值表示为赋值后变量的值
不等判断:!=
大小比较:<、>、<=、>=
取反:!
组合运算:&&(并且)、||(或者)。
–&& 并且:只有两边都为true的时候,表达式的值才为true,否则是false;
–||或者:两边只要有一个为true的时候,表达式的值就是true,否则是false;
–&&、||是短路运算,试验。
if 、 switch case
if(i>1) if(i>1) if(i>1) { { { } } } else else if(i<10) { { } }
if()括号里也可以是复合的表达式,只要返回一个bool类型的值
switch(case值)
{
case1: 类似if...else if...else,但是是离散值的判断;
break; switch一般可以用if重写,但是if不一定能用switch重写
case2: 必须写break,出了直通的case之外,必须写break;
break;
default:
break;
}
while循环
while(判定循环的条件)
{
} while后面括号里的判定条件为ture就一直执行{}里的语句块;
do
{
}
while(判定循环的条件) 先执行一次do后面{}的语句块,再判断while后面的条件,ture就再执行一次{};
for循环
for(code1; code2; code3)
{}
code1:循环的初始化代码,只在循环开始之前执行一次,一般申明并初始化控制循环的变量
code2:bool类型的表达式,每次循环完成前都判断一次,值为true就执行后面的语句或语句块
code:每次循环之后执行一次,一般自增循环控制变量,达到控制循环次数的目的
for跟while之间可以互相转换,具体采用哪种方法取决于习惯用法和具体功能实现起来的方便程度。
循环的中断
break:立即终止整个循环,执行循环之后的代码;
continue:立即终止当次循环,进行下一循环步骤
枚举、数组
枚举——确定数量确定值的几个取值:
enum 名称{value1, value2, value3……} ————枚举类型是一种的值类型,它用于声明一组命名的常数
数组——声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 C# 中,将方括号放在标识符后是不合法的语法。
数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分。C#中你可以申明一个向它分配int对象的任意数组,而不管长度如何。 int[] numbers;
如果声明时未初始化数组,则数组成员自动初始化为该数组类型的默认初始值;
数组的初始化:
int[] numbers=new int[5] {1,2,3,4,5};
可以省略数组长度: int[] numbers=new int[] {1,2,3,4,5};
如果提供了初始值设定项还可以省略new: int[] numbers={1,2,3,4,5};