c#学习笔记3






**********************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  //是逐行打印(打印完,回车)










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值