33张纸牌问题
2009-10-22 16:53
288 查看
0316C#基础加强
->交换2个变量的值不用方法的方法
int num1 =10;
int num2 =20;
int temp = num1;->中间变量交换
num1 =num2 ;
num2 =temp;
->用方法的交换
* 方法的语法(static静态方法)
访问修饰符 返回值类型 方法名(参数)
{
//方法体
}
ctrl+k+s折叠代码#region,Ctrl+A,Ctrl+k+f将所有代码对齐
*语法规范(一定要记住)
->变量命名规则
骆驼与帕斯卡命名:骆驼首字母小写,连接单词大写;帕斯卡首字母大写;
-> 注释(//单行注释)(/*多行注释*/)(///文档注释,在方法的前面和类前面)
->文件组织规范
*反编译工具使用
*流程控制
*方法(就是函数)([]可以省略)
如果Main方法中前面的变量,如果在方法中要被使用,通过参数传递进去;
如果方法结束后,方法中的变量在Main方法中要使用,就需要通过返回值返回;
*Console.WriteLine的用法,有2类
->重载的使用
->给方法传递不同的参数,就会直接调用方法的重载
->直接F12可以看到重载方法
-> 使用格式化字符串(formatter)
->方法带有多个参数,第一个参数才是输出的参数,但是第一个参数中有坑;
->从第二格参数开始其后的所有参数均是填坑的
->填充的数据应多于坑的个数(序号匹配)
*枚举(是一个类型)
->语法(为了方便,不用记住某些值的特定表示,只用记住ConsoleKey.这个东西就可以)
[访问修饰符] enum 枚举名
{
//成员0,
//成员1,
}
->枚举的使用: 方便程序员编码;
枚举名 变量名;
变量名 = 枚举名.成员;
->默认情况下枚举的本质是整数;不要循环赋值;
*结构
->语法(不能赋值)
[访问修饰符] struct 结构名
{
public 类型 类型名;
public 类型 类型名;
}
->两种用法
->使用new构造函数 结构名 = new 结构名();当结构成员没有初值的时候,会有一个初始值,数字为0,
引用类型为null,bool类型为false;结构的构造方法是为了赋初值;
->结构名 变量名;
-> const常量(在定义的时候必须赋初值,常量不允许后期修改)
->结构与类的区别:结构是值类型,结构不具备面向对象的特征,结构可以实现接口;
C#所有类型都来源于Object;
****************************************************************************************************************
*面向对象
->语法
class 类名
{
//成员
}
->面向对象的三大特征(封装性、继承性、多态性)
->类与对象(类是模型,对象是产品)
->类的实例化(必须new)
类名 变量名 = new 类名();
->类在定义的时候构造函数会开辟空间
->类的构造函数,用来初始化变量,不用考虑说有的字段
->可以考虑带参数与不带参数的重载
->而结构在定义的时候不用单独调用构造方法开辟空间
->结构的构造方法必须为每一个成员赋初值
->在结构中不允许手动添加无参数构造方法
->类的构造方法用来开辟空间,创建对象,对对象字段进行初始化
->关于类的访问修饰符与成员
->默认情况类的修饰符为internal,表示内部类,作为类库存在,内部不允许其他项目中的代码进行访问,只能在当前项目中进行访问;
->可以在类前面修饰的只有internal和public;
->写类就是为了描述对象(特点、功能)
->特点就是特征,就是变量,就是字段(字段都设为private)
->功能就是方法、属性等(属性不具备存储数据的能力,所有的属性都是起到一个外部访问的目的)
->属性就是一个get方法和一个set方法,用字段进行读取和设置值的方法
->仅仅是为了使用方便才将属性写成类与字段的样子
->属性语法:public int Num
{
get{return num;}
set{num = value;}
}
->如果具备了get、set就是一个可读属性
->如果只有set就是一个只写属性
->如果只有get就是一个只读属性
->下面的情况编译器会自动的生成一个后台的私有字段,来实现属性的访问能力,该字段才存储数据
->自动属性的用法很特殊,没有方法体,与直接访问public一样
->自动属性必须是可读可写的
public int Num
{
get;
set;
}
->this表示当前实例
本文出自 “object” 博客,请务必保留此出处http://4583949.blog.51cto.com/4573949/808207
->交换2个变量的值不用方法的方法
int num1 =10;
int num2 =20;
int temp = num1;->中间变量交换
num1 =num2 ;
num2 =temp;
->用方法的交换
* 方法的语法(static静态方法)
访问修饰符 返回值类型 方法名(参数)
{
//方法体
}
ctrl+k+s折叠代码#region,Ctrl+A,Ctrl+k+f将所有代码对齐
*语法规范(一定要记住)
->变量命名规则
骆驼与帕斯卡命名:骆驼首字母小写,连接单词大写;帕斯卡首字母大写;
-> 注释(//单行注释)(/*多行注释*/)(///文档注释,在方法的前面和类前面)
->文件组织规范
*反编译工具使用
*流程控制
*方法(就是函数)([]可以省略)
如果Main方法中前面的变量,如果在方法中要被使用,通过参数传递进去;
如果方法结束后,方法中的变量在Main方法中要使用,就需要通过返回值返回;
*Console.WriteLine的用法,有2类
->重载的使用
->给方法传递不同的参数,就会直接调用方法的重载
->直接F12可以看到重载方法
-> 使用格式化字符串(formatter)
->方法带有多个参数,第一个参数才是输出的参数,但是第一个参数中有坑;
->从第二格参数开始其后的所有参数均是填坑的
->填充的数据应多于坑的个数(序号匹配)
*枚举(是一个类型)
->语法(为了方便,不用记住某些值的特定表示,只用记住ConsoleKey.这个东西就可以)
[访问修饰符] enum 枚举名
{
//成员0,
//成员1,
}
->枚举的使用: 方便程序员编码;
枚举名 变量名;
变量名 = 枚举名.成员;
->默认情况下枚举的本质是整数;不要循环赋值;
*结构
->语法(不能赋值)
[访问修饰符] struct 结构名
{
public 类型 类型名;
public 类型 类型名;
}
->两种用法
->使用new构造函数 结构名 = new 结构名();当结构成员没有初值的时候,会有一个初始值,数字为0,
引用类型为null,bool类型为false;结构的构造方法是为了赋初值;
->结构名 变量名;
-> const常量(在定义的时候必须赋初值,常量不允许后期修改)
->结构与类的区别:结构是值类型,结构不具备面向对象的特征,结构可以实现接口;
C#所有类型都来源于Object;
****************************************************************************************************************
*面向对象
->语法
class 类名
{
//成员
}
->面向对象的三大特征(封装性、继承性、多态性)
->类与对象(类是模型,对象是产品)
->类的实例化(必须new)
类名 变量名 = new 类名();
->类在定义的时候构造函数会开辟空间
->类的构造函数,用来初始化变量,不用考虑说有的字段
->可以考虑带参数与不带参数的重载
->而结构在定义的时候不用单独调用构造方法开辟空间
->结构的构造方法必须为每一个成员赋初值
->在结构中不允许手动添加无参数构造方法
->类的构造方法用来开辟空间,创建对象,对对象字段进行初始化
->关于类的访问修饰符与成员
->默认情况类的修饰符为internal,表示内部类,作为类库存在,内部不允许其他项目中的代码进行访问,只能在当前项目中进行访问;
->可以在类前面修饰的只有internal和public;
->写类就是为了描述对象(特点、功能)
->特点就是特征,就是变量,就是字段(字段都设为private)
->功能就是方法、属性等(属性不具备存储数据的能力,所有的属性都是起到一个外部访问的目的)
->属性就是一个get方法和一个set方法,用字段进行读取和设置值的方法
->仅仅是为了使用方便才将属性写成类与字段的样子
->属性语法:public int Num
{
get{return num;}
set{num = value;}
}
->如果具备了get、set就是一个可读属性
->如果只有set就是一个只写属性
->如果只有get就是一个只读属性
->下面的情况编译器会自动的生成一个后台的私有字段,来实现属性的访问能力,该字段才存储数据
->自动属性的用法很特殊,没有方法体,与直接访问public一样
->自动属性必须是可读可写的
public int Num
{
get;
set;
}
->this表示当前实例
本文出自 “object” 博客,请务必保留此出处http://4583949.blog.51cto.com/4573949/808207
相关文章推荐
- 纸牌问题
- UVA10935纸牌问题
- 纸牌博弈问题
- 贪心算法之堆分纸牌问题
- 均分纸牌问题
- 【算法学习笔记】25.贪心法 均分纸牌问题的分析
- 递归与动态规划---排成一条线的纸牌博弈问题
- 排成一条线的纸牌博弈问题
- 排成一条线的纸牌博弈问题
- 说难就难的贪心(一)——均分纸牌问题
- 纸牌博弈问题
- 动态规划-排成一条线的纸牌博弈问题
- 分金子(360公司2017春招真题) 纸牌博弈问题 程序员代码面试指南
- CodeVs_1098 均分纸牌问题
- 动态规划-排成一条线的纸牌博弈等问题
- 均分纸牌及糖果传递问题
- xynuoj 均分纸牌问题 酒馆浪人的博客
- ☆HDU 2209 翻纸牌游戏(反转、开关问题)
- 纸牌博弈问题
- CODE[VS]_1098 均分纸牌问题