- 一、变量
- 二、变量的命名规范
- 三、常量
- 四、转义字符
- 五、隐式转换
- 六、显式转换
- 七、异常捕获
- 八、字符串拼接
(一)必须遵守的规则
- 不能重名
- 不能以数字开头
- 不能使用程序关键字命名
- 不能有特殊符号(下划线除外)
建议的命名规则:变量名要有含义 -->
用英文(拼音)表示变量的作用 非常不建议的命名规则:用汉字命名
(二)常用命名规则
驼峰命名法——首字母小写,之后单词首字母大写(变量)
帕斯卡命名法——所有单词首字母都大写(函数、类)
三、常量 固定写法:const 变量类型 变量名 = 初始值;
特点:
- 必须初始化
- 不能被修改
使用 @ 取消转义字符:string str2 = @"哈哈\哈哈";
(一)相同大类型之间的转换
有符号 long-->
int-->
short-->
sbyte
无符号 ulong-->
uint-->
ushort-->
byte
浮点数 decimal double-->
float。decimal 这个类型没有办法用隐式转换的形式去存储 double 和 float
特殊类型 bool、char、string 之间 不存在隐式转换
(二)不同大类型之间的转换
无符号不能装负数
有符号的变量不能够隐式转换成无符号
有符号变量可以装无符号变量,前提是范围一定要是涵盖的,存在隐式转换
浮点数可以装载任何类型的整数,包括 decimal:
double -->
float -->
所有整形(无符号、有符号)
decimal -->
所有整形(无符号、有符号)
bool 没有办法和其它类型相互隐式转换
char 没有办法隐式的存储其它类型的变量
string 类型无法和其它类型进行隐式转换
总结:
高精度(大范围)装低精度(小范围)
double -->
float -->
整数(无符号、有符号)-->
char
decimal -->
整数(无符号、有符号)-->
char
string 和 bool 不参与隐式转换规则
六、显式转换(一)括号强转
作用:一般情况下,将高精度的类型强制转换为低精度
语法: 变量类型 变量名 = (变量类型) 变量;
注意: 精度问题、范围问题
bool 和 string 是不能够通过括号强转的
(二)Parse 方法
作用:把字符串类型转换为对应的类型 语法:变量类型.Parse("字符串");
注意:字符串必须能够转换成对应类型,否则报错
(三)Convert 方法
作用:更准确的将各个类型之间进行相互转换 语法:Convert.To目标类型(变量或常量);
注意:填写的变量或常量必须正确,否则出错
- 转字符串,如果是把字符串转对应类型,那字符串一定要合法合规
- 精度比括号强转好一点,会四舍五入
- 把 bool 类型也可以转成数值类型,true 对应 1;false 对应 0
- 每一个类型都存在对应的 Convert 中的方法
(四)其它类型转 string
作用:拼接打印 语法:变量.toString();
当我们进行字符串拼接时 就自动会调用 tostring 转成 string:Console.WriteLine("123123" + 1 + true);
//必备部分
try
{
// 希望进行异常捕获的代码块
// 放到 try 中
// 如果 try 中的代码报错了 不会让程序卡死
}
catch
{
// 如果出错了 会执行 catch 中的代码 来捕获异常
// catch(Exception e) 具体报错跟踪 通过 e 得到 具体的错误信息
}
// 可选部分
// 注意:异常捕获代码基本结构中 不需要加; 在里面去写代码逻辑时,每一句代码才加;
八、字符串拼接
(一)加号拼接
string 不存在算数运算符不能计算,但是可以通过 +
号来进行字符串拼接
var str = "123";
// 用 + 号进行字符串拼接
str = str + "456";
(二)格式化拼接
// 固定语法
// string.Format("待拼接的内容", 内容1, 内容2,......);
// 拼接内容中的固定规则
// 想要被拼接的内容用占位符替代 {数字} 数字: 0~n 依次往后
var str2 = string.Format("我是{0}, 我今年{1}岁, 我想要{2}", "xxx", 18, "天天学习,好好向上");
(三)使用 $
以 $
符号开头开始字符串,其中以 {}
来进行传参,可以多个参数累加。
var name = "xxx";
var age = 18;
var something = "天天学习,好好向上"
var str2 = $"我是{name}, 我今年{age}岁, 我想要{something}";