C#总结
第一章:
1.C#学习,分三部分:net farmeword, C#基础语法,studion工具
2.Main()方法
与java一样,都是程序的入口
Main()方法有四种类型,参数可选,返回值可以是void和int
static void Mian(String[] args){}
static int Mian(String[] args){}
static void Mian(){}
static int Mian(){}
注意:Main()首字母大写
3.程序结构
net java
导入命名空间(using) 导入包(import)
声明命名空间(namespace) 声明包(package)
类声明(class,省略了public) 类声明(public class)
Main方法(首字母大写) main(全小写)
4.C#变量
变量声明:与java声明一样
数据类型 变量名;
命名规则:字母,数字,“_”
首字母:字母,"_",java中的"$"在C#中不能使用
数据类型:
C# java
string String
bool boolean
5.C#常量
C#定义:const 数据类型 常值名=值;
初始化必须在声明时进行。
常量命名规则:
a.有意义
b.均大写
c.长度不宜太长(25个以内)
什么时候用常量
1.不随意更改
2.多处引用
3.其值有特殊的含义
6.Console类
方法:输出Console.Write();输出不换行
Console.WriteLine();输出换行
读取:Console.Read(); 读取下一个字符
Console.ReadLine();读取下一行字符
注意:Read()返回值类型为int
ReadLine()方法返回值类型为string
C#中的强制转换:int.Parse(string类型的参数);
7.类和对象
类和对象的关系:类是对象的抽象,对象是类的势实例
定义:访问修饰符 class 类名 {
}
方法定义:类的行为
方法作用:易于修改,重用性,封装性
方法的语法:
访问修饰符 返回值类型方法名(参数列表)
{
//方法体
}
注:方法名:采用帕斯卡命名,每个单词的首字母大写
8.C#中的注释
java C#
行注释: // //
块注释: /* /*
*/ */
文档注释: /** ///
*/ ///
///
9.预处理
#region
#endregion
折叠代码,让代码结构更清晰
分块的预处理命令
第二章
1.选择结构
C#跟Java一样的:
四种:
基本: if-else:
if(条件) if(条件)
{ {
条件成立后,执行的操作 }
} else
{
}
多重if: 嵌套if
if(条件1) if(条件1){
{ if(条件2){
//操作1 //操作1
}else if(条件2){ }else{
//操作2 }
else }else{
{ }
操作3
}
switch结构
java与C#不同
java C#
不同点:类型:int/char int/char/string
case后break 关键字可以省略 必须有
default后break可以省略 必须有
相同点: case 后面的值,必须是常量值
case 后的值不能相同
2.一维数组
C#定义:数据类型[] 数据名;
指定数组长度:数据类型[] 数组名=new 数据类型
数据类型[] 数组名={元素}
数据类型[] 数组名=new 数据类型[长度]{元素的个数}
注:以中括号指定个数为准,指定长度与个数值要相同,
初始化:数组名=new 数据类型{元素的个数}
3.循环结构
java中的三种循环结构,C#中的语法与之相同
while:先判断条件,成立则执行,不成立则结束循环
do-while:先执行一次,再判断条件,成立执行,不成立结束循环
for:先初始化,再判断,成立执行,不成立结束循环,一般用于有固定次数的循环中
C#中的新循环:
foreach(元素类型 标识符(变量名) in 数组名)
{
//代码块
}
注:foreach 标识符,是一个只读变量,不能改变其值执行过程,是依次取出数组中的每个元素,常用于遍历一个数组或集合
4.break与continue
break应用于:循环结构,与switch选择结构
作用:结束本个循环,或是结束本个选择结构
continue 只用于循环结构中
作用:结束本次循环,进行下一次循环
第三章
1.访问修饰符
public 不受任何限制 级别最高
private 只在类的内部使用其他类无法使用 级别最低
2.this关键字
通过this可以访问当前类的所有成员变量和方法
3.属性
注:属性与字段类型必须相同
属性有两个访问器,get set
get 访问器:返回字段名
set 访问器:设置字段值
只读属性:只写get方法
只写属性:只写set方法
属性的作用:封装字段,提高数据的安全性。
4.使用对象初始化为属性赋值
类名 对象名=new 类名(){属性1=值1,属性2=值2}
5.值传递与引用传递
值传递:相当于拷贝
引用传递:相当于共享
所以说,值传递不会改变实参的值,引用传递则会改变实参的值
值传递如何变成引用传递,使用ref关键字
实参和形参都要加ref
如:调用:方法名(ref 变量名)
定义:访问修饰符 返回值类型 方法名(ref 类型 变量名)
{
}
数据类型的分类:基本类型与引用类型
基本类型默认:值传递
引用类型默认: 引用传递(string 除外),不用ref
基本类型有:int,double,char,bool
引用类型:string,类型,数组等
第四章
1,string 类方法
IndexOf(字符或字符串):返回查找字符(串)所在的位置;
从零开始,如果没有查找到,则返回-1
Substring(开始位置,长度)截取字符串; 例 abcdefg.Substring(5,2)结果返回;fg
ToLower():将字符串转换成小写;
Toupper();将字符串转换成大写;
2.==与Equals()的区别
==:比较地址
Equals():比较值
C#中string类型除外,使用==与Equals效果相同
3." "与string.Empty的异同
相同:都是指字符为空
区别:” “,分配长度为空白的存款空间
string.Empty:不能分配存储空间
4.判断字符串为空的三种方式
字符串.Length==0;
字符串==" ";
字符串== string.Empty;
效率:字符串.Length==0>字符串==string.Empty>字符串=” “
5.split().join()
split():变量名.split(char型分隔符)
Join():string.Join(连接符.连接对象)
6.Format()
string mgstring=string.Format(格式化字符串"参数列表")
格式化字符串中包括固定文本和格式项
格式项语法:{索引[,对齐][:格式化字符]}
对齐:正为右对齐,负为左对齐
格式化字符,
字符 说明 示例 输出结果
C 货币格式 String.Format("{0:C3}",2000) ¥2000.000
D 十进制格式 String.Format("{0:D3}",2000) 2000
F 小数点后的位数固定 String.Format("{0:F3}",2000) 2000.000
N 用逗号(,)隔开的数字 String.Format("{0:N}",250000) 250,000
P 百分比计数法 String.Format("{0:P3}",0.29768) 29.768
X 十六进制格式 String.Format("{0:X000}",12) C
7.类型转换
两大类:隐式转换(自动转换)条件:类型兼容;目标类型类型大于源类型
显式转换(强制转换)
1.数据类型:一般用于数值转换会失去精度
2.数据类型.Parse(string 对象):将string转换为其他类型
3.Convert.ToXXX(对象):任何类型转换成其它类型:
方法 说明
Convert.ToInt32() 转换为整型(int 型)
Convert.ToSingle() 转换为单精度浮点型(float 型)
Convert.ToDouble() 转换为双精度浮点型(double)
Convert.ToString() 转换为字符串类型(string 型)