11.Convert转换工厂
convert可以转换非兼容数据类型
string str = "222";
int n=Convert.ToInt32(str);
double d = Convert.ToDouble(str);
Console.WriteLine("{0}---{1}", n,d);
12.复合赋值运算符
int a = 10;
int b = 3;
b += a;
Console.WriteLine("{0}", b);
b -= a;
Console.WriteLine("{0}", b);
b *= a;
Console.WriteLine("{0}", b);
b /= a;
Console.WriteLine("{0}", b);
b %= a;
Console.WriteLine("{0}", b);
13.作用域
变量的作用域是:在声明变量的大括号内有效,出了声明变量所在的作用域则变量无法识别;
14.try...catch
Console.WriteLine("请输入数字");
try
{
Console.WriteLine(Convert.ToInt32(Console.ReadLine()) * 2);
Console.WriteLine("执行了吗");
}catch(Exception ex)
{
Console.WriteLine("请输入整数");
Console.WriteLine(ex.Message);
}
Console.WriteLine("程序即将结束");
Console.ReadKey();
15.switch...case
C#的switch的default需要加break;
int a = 10;
switch (a)
{
case13:
case 12:
Console.WriteLine("not");
break;
case 11:
Console.WriteLine("yes0");
break;
default:
Console.WriteLine("default not");
break ;
}
16.continue
int a = 10;
while (a > 0)
{
if (a > 5)
{
a--;
continue;
}
else
{
Console.WriteLine("{0}小于等于5", a);
}
a--;
}
17.int.Parse
int.Parse效果与Convert.ToInt32()一样,因为后者底层就是调用int.Parse,同理double.Parse,char.Parse...也一样;
int.TryParse:该方法尝试将字符串转换成数字,如果成功返回true,并将转换后的值赋值给out参数,如果转换不成功,返回false,并将out参数赋值0;
int num = 1;
bool flag=int.TryParse("123aaa",out num);
Console.WriteLine("{0}--{1}", flag,num); //false--0
int.TryParse比int.Parse更加友好;
18.调试
F11逐语句调试
F10逐过程调试
逐语句,就是每次执行一行语句,如果碰到函数调用,它就会进入到函数里面。
而逐过程,碰到函数时,不进入函数,把函数调用当成一条语句执行。
断点调试:程序运行到断点处停止执行,适用于知道程序在某个地方出bug,针对某一段代码进行的调试;
19.常量
const 变量类型 变量名称=值 const int num=10
20.枚举
语法
访问修饰符 enum 枚举名{值1,值2,值3...}
枚举只能声明在命名空间里面或者类里面与方法平级,不能声明在方法内部,如果声明在类内部,则该枚举只能供该类使用,一般声明在命名空间里面供多个类使用;
枚举也是一种变量类型,枚举名首字母大型
枚举类型与int类型是兼容的,两者可以相互转换,int转枚举的时候如果没有对应的枚举值,则直接输出int值
//声明
public enum Sex { 男,女}
//调用
Sex s = Sex.男;
int n = (int)s;
//int转枚举
int a = 1;
Sex s2 = (Sex)a;
Console.WriteLine(s2);
枚举可以在定义的时候赋值对应的整数
public enum Sex { 男=2,女=4,中性=6}