C#---第二课:字符串的拼接 & @符号 & 数据类型的转换(Convert、TryParse)

1. 字符串的拼接

(1) 字符串 与变量通过加号(+)拼接


string name = "Alien";
int age = 18;
decimal salary = 66666;
char level = 'A';


Console.WriteLine("my name is " + name + "i am " + age + " years old , salary is " + salary + ", and the level of C# is " + level);


Console.ReadKey();




(2) 字符串里面使用占位符


string name = "Alien";
int age = 18;
decimal salary = 66666;
char level = 'A';


Console.WriteLine("my name is {0}, i am {1} years old , salary is {2}, and the level of C# is {3}", name, age, salary, level);


Console.ReadKey();


最终的结果如下:


my name is Alien, i am 18 years old , salary is 66666, and the level of C# is A



2. 接收输入内容并打印


Console.WriteLine("请输入您的姓名?");
string name = Console.ReadLine();			// 可以接收在控制台输入的内容,并赋值给name变量

Console.WriteLine("您的姓名是:{0}", name);
Console.ReadKey();


注意:


Console.ReadLine()只能通过字符串或字符接收!!!


不能通过int 、double接收!!!

在这里插入图片描述



3. @符号的作用

(1)保留原始的文件目录

在这里插入图片描述


string text = "一个高尚的人,一个脱离了低级趣味的人......";

// 添加@符号,表明按照原始的意思输出和使用目录地址
System.IO.File.WriteAllText(@"C:\Users\Alien\Desktop\temp.txt", text);

// 如果不用@,需要将每个\再转义一下,\\代表原始的一个\
// System.IO.File.WriteAllText("C:\\Users\\Alien\\Desktop\\temp.txt", text);


Console.WriteLine("写入成功!");
Console.ReadKey();

  • 原始本地桌面没有temp文件,以上执行完之后,会将text的字符串写入到文件中


(2)按照原始字符串的样式输出


string text = @"一个高尚的人,一个存粹的人,
                一个有道德的人, 一个脱离了低级趣味的人......";

System.IO.File.WriteAllText(@"C:\Users\Alien\Desktop\temp.txt", text);
Console.WriteLine("写入成功!");
Console.ReadKey();

在这里插入图片描述



4. 数据类型的转换



(1)小的数据类型转换为大的数据类型

小的数据类型指的是取值范围小的数据,去转换为取值范围更大的数据,这个可以直接转换,或者叫隐式转换


int num = 10;

double num_2 = num * 0.88; 

Console.WriteLine("转义之后的数:{0}", num_2);

Console.ReadKey();


// 转义之后的数:8.8



(2)大的数据类型转换为小的数据类型

强制转换的时候,需要将被转换的数据前面添加一个数据类型符号(最终需要的数据类型)


double num  = 666.6;

int num_2 = (int)num;

Console.WriteLine("转义之后的数:{0}", num_2);

Console.ReadKey();


// 转义之后的数:666



(3)两个int类型的数据计算结果还是int类型


int num = 10;
int div = 3;


int num_new = num / div;			//  两个int类型的数据,无论是加减乘除,最终得到的都是int类型的数据
Console.WriteLine("最终的数据为:{0}", num_new);


double result = num / div;			// 最终还是打印整形数字,只是有个隐式转换
Console.WriteLine("最终的数据为:{0}", result);

Console.ReadKey();



(4)如何将两个int类型计算的结果转为小数呢?


int num = 10;
int div = 3;

// 此处其实是将分子 num 的int类型,转换为了double类型,最终分子是double、分母是int类型
double result = num*1.0 / div;
Console.WriteLine("最终的数据为:{0}", result);

Console.ReadKey();


// 最终的数据为:3.33333333333


double num = 10;
int div = 3;


double result = num / div;
Console.WriteLine("最终的数据为:{0:0.000}", result);		//冒号后面为最终需要的小数位样式

Console.ReadKey();


// 最终的数据为:3.333


(5)不兼容数据类型的转换ToInt32、ToDouble


string num = "123456";

double number = Convert.ToDouble(num);
int num2 = Convert.ToInt32(num);

Console.WriteLine("最终转换的double数据为:{0}", number);
Console.WriteLine("最终转换的int数据为:{0}", num2);
Console.WriteLine("");


Console.ReadKey();


// 最终转换的double数据为:123456
// 最终转换的int数据为:123456




(6)不确定两个数据类型是否兼容–TryParse

  • 当两个数据转换类型的时候,如果不确定是否兼容、是否能转换成功,为了避免错误,需要有个函数对是否能成功转换做一个判断,TryParse可以解决此问题!!!
  • int.TryParse
  • double.TryParse
  • decimal.TryParse

①转换错误的时候?


int number = 0;
bool b = int.TryParse("123abc", out number);	// 将字符串"123abc"转换为int类型
Console.WriteLine(b);							// 无法转换,则b为False
Console.WriteLine(number);						// 因无法转换,则number被赋值为0



// False
// 0


②转换正确的时候?


int number = 0;
bool b = int.TryParse("123", out number);	// 可以转换,则正常把number转为int 123
Console.WriteLine(b);						// b则是True,代表可以转换
Console.WriteLine(number);					
 

// True
// 123

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-alien

您的鼓励,是我最大的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值