复习 c#基础加强

本文详细介绍了C#编程的基础规范,包括骆驼命名和帕斯卡命名,以及面向对象的三大特性——封装、继承和多态。讨论了类的构造函数、变量作用域,以及.NET平台和C#的关系。还涵盖了数据类型、转换、数组(二维数组和交错数组)、方法重载、可变参数、ref和out的关键概念和用法。
摘要由CSDN通过智能技术生成
语法规范:
骆驼命名: 首字母小写,单词后字母大写          使用在普通变量
帕斯卡命名: 首字母大写,单词后字母小写 使用在方法名或者类名
面向对象的三大特性:封装、继承、多态。(类是模具,创建对象的模具,抽象的)
根据对象分析有几个类
构造函数:构造函数是可以重载的,构造函数特点:1.方法名和类名必须一样2.构造函数不能有任何返回值3.构造函数访问修饰一般是public
当类的构造函数的访问修饰符如果是private/protected等,不能再类外部访问,所以也就不能再类外部通过new关键字来创建对象

变量的 作用域:类的成员变量,声明的时候没有赋值,则会有默认值数字类型是0,string 是null,bool是false




.net和c#关系:
.net是平台,c#是语言; c#语言可以通过.net平台来编写 部署 运行.net应用程序          c#是专门为.net研发的一门语言
.net平台的重要组成:
1.FCL-框架类库(微软事先定义好的类的集合),2.CLR-公共语言运行时(创建 部署 运行.net程序的必备环境)
解决方案:是用来管理项目的。(多个项目构成一个解决方案。)
数据类型就是在内存中开辟空间大小的模板


数据类型转换:
隐士转换:1数据类型必须兼容,2.目标类型要大于原类型   convert转换其实就是调用int.Parse()方法,只不过在转换之前判断值是否为null
值类型:数值类型 (char,bool,结构)直接将数据存储在栈里的变量的空间里面
引用类型: string 数组 类
变量声明在栈里面 真实的对象存储在堆里面 栈里面的变量存储 的是对象的地址


二维数组:声明二维数组 :int[,]=new int[2,5],
//获取二维数组的值
for(int i=0;i<arr.GetLength(0);i++)
{
for(int j=0;j<arr.GetLength(1);i++)
{
Console.WriteLine(arr[i,j]);
}
}
交错数组:
交错数组的本质是一个一维数组 只不过这个一维数组的 元素又是数组
声明交错数组:int[][]arr=new int[3][];


方法的重载:
1在同一个作用域下 ,不能定义相同名字的成员。
什么情况下可以构成方法重载:
1.方法的名字相同2。方法参数的个数或者类型或者顺序不一样。3必须在同一个类中


可变参数:
参数被params修饰就叫可变参数,1.params只能修饰一维数组。
2.给可变参数赋值的时可以直接传递数组的元素。3.在调用的时候会自动将这些元素封装为一个数组,并将数组传递4.可变参数必须放在参数列表的最后。


ref和out
ref修饰方法的参数 1在调用的时候必须在变量前面加上ref关键字,只能传递变量不能传递常量,传递的时候 不是传递变量的值,而是传递变量的地址
out也是传递变量的地址,out必须在方法内对其赋值,ref可以修改其值也可以不修改




什么时候用out呢?
一个方法中有多个返回值(如返回一个最大值和最小值)


out侧重于输出 ref侧重于修改
out 在传递之前可以不赋值 因为在方法中肯定会为out赋值
ref在传递之前必须要有值 因为方法中有可能会用到这个参数的值


ref修饰方法参数时,在调用的时候必须在变量前面加上ref关键字,只能传递变量,不能传递常量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值