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