类型转换
Parse() string 转值类型
GteType() 转换完用于查看
TayParse() 转换成功 true 转换失败 false
Convert 各种类型转换
Tostring 所有类型转字符串
隐式类型转换 和 显示类型转换
// 隐式类型转换 大区间转小区间
int intnumber = 10;
long longnumber = intnumber;
Console.WriteLine(intnumber);
int intnumber1 = 20;
double dnumber = (double)intnumber1;
Console.WriteLine(dnumber);
long longnumber1 = 100;
double dnumber1 = longnumber1;
Console.WriteLine(dnumber1);
// 显示类型转换
double bnumber2 = 10.1;
int intnumber2 = (int)bnumber2; // 必须显示, 要你确定会丢失数据 需要手动转换
Console.WriteLine(intnumber2);
long lnumber2 = 1000;
int intnumber3 = (int)lnumber2; // 小区间转大区间也是一样的
Console.WriteLine(intnumber3);
Parse 用法
string 转值类型
// Parse 用于string转换成值类型
string str = "123";
int a = int.Parse(str);
Console.WriteLine(a);
// 测试看一下 用到 GetType()
string str1 = "123";
int a1 = int.Parse(str);
Console.WriteLine(a1.GetType());
例
// 控制台两个整数 相加求和
Console.WriteLine("输入第一个数");
string a6 = Console.ReadLine();
int b6 = int.Parse(a6);
Console.WriteLine("输入第二个数");
string a7 = Console.ReadLine();
int b7 = int.Parse(a7);
Console.WriteLine(b6 + b7);
TryParse 非数字转换异常问题
与int.TryParse 类似 转换成功返回true 返还失败false 最后一个参数为输出值 失败输出值为0
// TryParse 非数字转换异常问题
// 与int.TryParse 类似 转换成功返回true 返还失败false 最后一个参数为输出值 失败输出值为0
Console.WriteLine("输入一个数");
string str8 = Console.ReadLine();
int intnumber6;
bool bool6 = int.TryParse(str8, out intnumber6);
Console.WriteLine(bool6);
Console.WriteLine(bool6 ? "成功":"失败") ;
Convert 类型转换 用于各种类型转换
转换内容不符合转换格式 抛出异常
//Convert 类型转换 用于各种类型转换
// 转换内容不符合转换格式 抛出异常
string str9 = "123";
int aa = Convert.ToInt32(str9);
bool bo1 = true;
string bo = Convert.ToString(bo1);
ToString 用于 所有类型都可以转字符串
int intnumber10 = 100;
Console.WriteLine(intnumber10.ToString());
运算符
+ - * / % ++ --
+ 有相加 和字符穿拼接的作用 和大类型和小类型结合默认为 大类型
- 非数字类型无法直接使用 - 号 int 无法 - (减)string
char 可以 - (减) int
++ 自身变量加一 --自身变量减一
int c = 20;
// 21 20 20 19
Console.WriteLine((++c)+(--c)-(c++)+(c--));// 后面有给++ 不要忘了
Console.WriteLine(c);
运算符的优先级
常量
常量 分为 : 值类型,字符串类型 , Const, readOnly.
// 值类型 常量名 = 常量;
int cc = 10;
float ff = 10.1f;
long LL = 1000L;
const 常量
1.表示的常量 必须在定义时赋值
2. 表示的常量 名字要用大写
const int INTNUMBER = 30;
const double PI = 3.1415926;
Console.WriteLine(PI*10*10);// 结果为:314.15926
// const 常量
const int INTNUMBER = 30;
const double PI = 3.1415926;
Console.WriteLine(PI*10*10);// 结果为:314.15926
string stringNumber7 = "123";
int intNumber7 = Convert.ToInt32(stringNumber7);
long longNumber7 = Convert.ToInt64(stringNumber7);
short shortNumber7 = Convert.ToInt16(stringNumber7);
uint uintNumber7 = Convert.ToUInt32(stringNumber7);
ulong ulongNumber7 = Convert.ToUInt64(stringNumber7);
ushort ushortNumber7 = Convert.ToUInt16(stringNumber7);
float floatNumber7 = Convert.ToSingle(stringNumber7);
double doubleNumber7 = Convert.ToDouble(stringNumber7);
// bool 类型 转换成数字类型 对应的是0 和 1
bool boolNumber7 = true;
int intNumber8 = Convert.ToInt32(boolNumber7);
Console.WriteLine(intNumber8);
const string AA = "中国";
Console.WriteLine(AA + "强大"); // 结果为 中国强大
//这种情况就无法转换
//string s1 = "123abc";
//int a1 = Convert.ToInt32(s);
//double b1 = Convert.ToDouble(s);