**********************C#语法基础*************************
1.int.parse( )....每种类型都有parse。。。尤其是string类型转换为int类型时,不容易出现问题
bool bol=(bool) strTrue //注意强转可以从低向高进行,反之不行
2.
if(i>100&&i++) //只有第一个表达式满足的情况下,才能执行第二个表达式
if(i>100&i++)//无论第一个表达式是否满足,都执行第二个表达式
3.
if(i<100 || i++<=11) //只要第一个表达式满足就不执行第二个表达式
if(i<100 | i++<=11) //无论第一个表达式是否满足,都执行第二个表达式
4.break终止当前的整个循环,包括switch...case,而return跳转到调用处
5. \t 空一个table \n换行
6. char cc=char.parse(console.Readline())
7.循环嵌套建议不要超过三层,可以用2-3个循环后将值放入组,或者集合中,然后再进行操作
8.方法中不能再出现方法,只能在方法中调用方法
9.静态方法只能调用静态方法和成员
10.重载时要求返还类型和参数不能一致,与返回类型无关
11.类型转换
a.ToSting()
b.convert.toXXX(可以编译器不报错)
c.XXX.parse( )
12.引用时内存中同一块地方的地址
13.ref和out很像,但是out必须在函数内部赋值,ref不一定在函数内部赋值
14.ref在传参的时候必须初始化,out传参数时无需初始化,对于out而言必须在被调用的方法内部进行初始化,否则报错
15.ref和out方法参数和执行中都要加ref/out
16.out/ref相当于将值类型的变量变为引用类型的变量
17.
if(n>0)----a
else if(n<100)-----b
//a,b两种情况不成补充关系,而是兼容关系,则b不执行 ,被跳过
*****************************C#结构*****************************
1.c#结构
a. 方法和本结构名称不能相同
b. 结构与类同级
c.结构是值类型
d.类中可以有一个空构造函数,结构中构造函数必须带参
e.结构可以不实例化:
struct student stu //结构定义后就相当于实例化了,但类必须使用new来实例化
stu.name="jack" //只要直接用变量名,成员数据名
stu.age=20
stu.show( )
2.
a.结构可以赋值给结构,结构式值类型,赋值时,改变结构内的数据,不改变其内存的地址
b.类和结构都可以实现接口
c.结构和类都可以使用new来创建
3.枚举
a.不写值,下表以“0”开始
b.enum于class,struct 同级
c.每个enum,class,struct 都相当于一个自定义类型
4.数组
a.实例化的时候一定要加元素的个数
b.数组中元素一定要同类型的
c.数组和string都有length属性
d.system.Array 抽象的基类Array obj =Array.CreateInstance(typeOf(string) ,10) //使用typeOf(string) 可以转换为计算机内部识别的数据类型,例如int 在计算机内部的类型是int32(不一样)
5.string 的输出方法
5.1
double doubleMoney=1234567.2345
string strMoney=string.Format("{0:000,000,000}",doubleMoney)
5.2
输出年,月,日
//YYYY年份格式,MM月份,dd表示天 hh小时 mm分钟 ss秒
string strData =string .Format("{0:dd日 MM月 YYYY年 hh:mm:ss } ",DataTime.Now)
6.闰年的判断
年份能被4整除,且不能被100整除,或者能被400整除的数就是闰年
*******************多维数组*********************
1. int[ ] [ ] //锯齿数组
int [ , ] //多维数组
2.锯齿数组时一维数组‘
int [ ][ ] num=new int [3] [ ]
num[0]=new int [ ]{ 1}
num[1]=new int [ ]{2,3}
.......
num[3]=new int [ ]{ 8,9,10}
for(int i=0;i<num.GetUpperBound( num.Rank-1)) // num.Rank维数
{
for(int j=0;j<num[i].length;j++)
{
}
}
3.
Console.Write //是逐字符答应
ConSole.writeLine //是逐行打印(打印完,回车)