C#学习历程(二)[基础知识]
c#中类型的转换
1、Convert.ToInt32(string s)
这个方法的返回值是int类型,要用int类型的变量接收
如:
string strNum=Console.ReadLine(); //键入
int age=Convert.ToInt32(strNum);//转换
或者:int age=Convert.ToInt32(“18”);
若输入的不是整形数字,则四舍五入
int age=Convert.ToInt32(“18.8”);//这里age=19
2、int.Parse(string s)
输入的字符串类型必须为int型
如:
string strNum=Console.ReadLine();
int age=int.Parse(strNum);
3、int.TryParse(string s,out int result)
这个方法的返回值是bool类型的,int.TryParse()要用bool类型的变量接收
如:
string strNum=Console.ReadLine();
int age=0;
bool result=int.TryParse(strNum,out age);
另外:这里以int类型为例,而double、float与int类似。
Conver.to....(val),是Convert命令的基本格式,用于显式转换
C#中的goto语句
goto语句名为无条件转移语句,十分灵活,但是由于goto语句的跳转影响程序的结构,所以一般"教材"上都不建议使用。
但是用它可以实现递归,循环,选择等很多功能,使用起来也很方便,可以适当使用。
goto跳转的语句,并不是一定要跳转到之后的语句,也就是说,goto还可以跳到前面去执行,可以实现循环,也可跳出循环。
eg:
int i = 0;
if(i<9){
i++;
goto cc;
}
cc: Console.Write(i);
goto语句只允许在一个语句块内跳出,或者在一个语句块内的一个地方跳到另一个地方;不允许从一个语句块外面跳入一个语句块的内部
C#中的复杂变量
》》枚举
enum body{ddd,aaa,ccc,dcd,acs};
//直接body.aaa取用
同时枚举里面得变量是默认赋值0然后依次递增。
同时也可自由赋值,若存在一个未赋值的跟在赋值的变量背后,则按上一个值+1。
》》数组
int []num = new int[5]; //初始化一个数组//num[0...99+]取用(注意不同的写法!)
int []num ={"a","a","a",''a'};
int []num = new int[4]{"d","d","d","d"}
@数组的遍历:
foreach(int t in num){......};
while(i<num.length){......};
for(int i=0;i<num.length;i++){.....};
》》结构
和类相似的用法,但是类是引用类型。结构是值类型,所以储存在栈上。
后面详细解释,这里先略过。
》》记住一些字符串的方法
ToLower()//转换为小写
ToUpper()//转换为大写
Trim()//去掉字符两端的空格,中间不管
TrimStart()
TrimEnd()
Split()//stringObject.split(separator,howmany),其中separator为分割参数可为“空格”
》》C#中的@符号的用法
@其实就是取消字符串中的转义作用,忽略转义符。
而C#中一般的的"\"是作为转义来使用的,而不是一个真的斜杠字符串。
如一个地址字符串。
string path="c:\abc\";
string path="c:\\abc\\"; //一般的写法是这样,不用@ 斜杠表示转义,多加个斜杠
string path=@"c:\abc\"; //这里的@让斜杠保持原意,不要转义
》》C#中的$符号的用法
C#6.0之后,可以使用$符号拼接字符串,效果等同string.Format()
。
如下代码中,str1,str2输出效果等同。
string add = "plase A";
string str1 = string.Format("{0},{1},{2}",id ,name,add);
string str1 = $"{id},{name},{add}";
》》C#中的Var符号的用法
使用var定义变量时有以下四个特点:
1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”;
2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
3. var要求是局部变量。
4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
》》C#中?的用法
》》C#中random.Next()方法
random.Next() --------------返回非负的一个随机数。
random.Next(MaxValue)----------返回一个小于所指定最大值的非负随机数
- minValue
- 类型:System.Int32
返回的随机数的下界(随机数可取该下界值)。
- maxValue
- 类型:System.Int32
返回的随机数的上界(随机数不能取该上界值)。maxValue 必须大于等于 minValue。