关于C#的输入与输出:
Console类支持用户使用标准输入设备如键盘和鼠标向计算 机输入数据,其实现的输入方法有Read、ReadLine、ReadKey
等
Read()方法只能读入一个数据,返回值是int类型
ReadLine()方法返回值是String类型,若要转换为其他类型就有采用的静态类Conver的To...()方法实现
或强制类型转换
Console类支持计算机向标准输出设备如显示器输出数据, 其实现的输入方法有Write、WriteLine。
C#的命名空间就相当于java中的包一样,在不同的命名空间下的相同名字的类不冲突。
在字符串中有要添加“”号的要添加转义字符,例如: “zhang shan \“ +\”li shi”或 “C:\\fame\\ll\\d”
可以采用一字不变地指定字符串@:
@”zhang shan + li shi” @“C\fame\ll\d”
如果字符串中有变量就用{ }括号括起来,而且字符串的最前头得加上$号,如下:
String username;
Console.Writeline(“Please input your name :”);
Username=Console.Readline();
Console.WriteLine($”your name is {username}”);
循环中断:
Break-----立即终止循环
Continue-----立即终止当前的循环(继续执行下一个循环)
Return-----跳出循环及包含循环的函数
数型转换:
.隐式转换: 容量小的转换成容量大的
.显式转换 容量大的转换成为容量小的
在使用Convert显示转换:
它内部会要检测是否溢出,此时像checked、unchecked的属性以及项目设置的属性。
三种复杂的变量:
枚举、结构、数组
枚举:
有些类型的取值范围很大,但能看成一个集合,有时我们需要在特定的集合中取值,这时我们就采用枚举类型来完成这项操作,那如何定义枚举呢?
可以采用关键字enum来定义枚举,如下:
Enum <typeName>
{
<value1>,
<value2>,
<value3>,
}
默认情况下枚举类型储存的是基本数据类型int,可以通过枚举类型声明,添加其他数据类型:
Enum <typeName> <underlyingType> //typename 为枚举名
{ //underlyingTyp为存储数据的类型
<value1>,
<value2>,
<value3>,
<value4>,
}
每个值会根据定义的循序从0开始自动赋值
也可以自定义赋值
Enum <typeName> <underlyingType>
{
<value1>【变量名】=<actualvalue>, //actualvalue是自定义值
<value2>=<value>, //value会自动赋值,比上一个值+1
<value3>=<actualvalue>,
<value4>=<value> //比value3的值大1 1
}
枚举类型定义在类体外,名词空间里面
结构:
结构是由几个数据组成的结构,这种数据结构可以具有不同的类型
定义结构:
使用关键字struct定义结构,如下所示:
Struct <typeName>
{
<memberDeclarations> //部分包含变量
每个成员的声明都采用如下形式:
<accessibility>[访问修饰符] <type>【数据类型】 <name>【变量名】
}
构造也是声明在类体外,名称空间里面
关于foreach循环:
可以简便的定位数组中的每个元素:
Foreach(<baseType> <name> in <array>)
{
//Can use <name> for each element
}
其中的参数baseType是数组中数据的类型
Name用一个变量名称表述遍历除开的数据
Array 表示被遍历的数组
注意!:使用foreach循环出来的数据不能赋值,而采用for循环遍历出来的数据可以复制。
在数组的类型后加上?号int[]?,表示数组中可以包含空对象
多维数组:
二维数组----<baseType>[,] <name>
三维数组----<baseType>[,,] <name>
关于数组中的数组:
在数组中创建多个数组对象,例如如下:
Int[][] divisors1To10 = {new int[] {1,2},
New int[] {4,3,2,1},
New int[] {2}
}
Foreach(int[] divisors in divisorsTo10)
{
Foreach(int div in divisors)
{
WriterLine(div)
}
}
关于字符串的处理:
- 可以将字符串看成具有只读属性的数组,可以实现访问其中的任意字符:
String mystring=”A string”;
Char mychar = mystring[1];
2.如果改写字符串中的某个字符则要用到String 类的ToCharArray()方法:
String mystring=”A string”;
Char[] char =mystring.ToCharArray();
3.关于将字符串中的大小写互相转换<String>.ToLower将大写转换为小写,<String>.ToUpper将小写转换成为大写,但是这种转换并不会改变原来的字符串
4.关于String类的Trim(Array[一组要删除的字符组]), <String>.Trim(Array[]);可以采用TrimStart()与TrimEnd()方法可以删除字符串前后的空格符号;可以采用PadLeft(数字)和PadRight(数字)方法来向字符串前后添加空格让字符串达到指定的长度,还可以采用PadLeft(数字,”添加的符号”)s和PadRight(数字,”添加的符号”)来在字符串前端后端添加指定的符号。
5.使用String类的Split(‘符号’)方法来以指定符号来分割字符串来获得一个字符串数组例如:
String mystring =”Hello world”;
String[] mystr =mystring.Split(“ ”);
获取的mystr数组为{Hello,world}
6.使用String类的Substring(初始索引,结束索引)
包括初始索引,不包括结束索引。