数据类型
1.基本数据
-
整数类型:int、short、byte
int x = 10; // 声明一个int32整数变量 x,表示有符号整数,范围为 -2147483648 到 2147483647。并初始化为 10 Console.WriteLine("类型为:" + x.GetType().Name + "数据为:" + x); short x2 = 10;// 声明一个int16整数变量 x,表示有符号整数,范围为 -32768 到 32767。并初始化为 10 Console.WriteLine("类型为:" + x2.GetType().Name + "数据为:" + x2); byte x3 = 10;// 声明一个Byte整数变量 x,表示有符号整数,范围为 -128 到 127。并初始化为 10 Console.WriteLine("类型为:" + x3.GetType().Name + "数据为:" + x3);
-
浮点类型:float、double
float x4 = 10;//float 类型表示单精度浮点数,范围为 -3.40282e+38 到 3.40282e+38。精度相对较低 :内存少 Console.WriteLine("类型为:" + x4.GetType().Name + "数据为:" + x4); double x5 = 10;//double 类型表示双精度浮点数,范围为 -1.7976931348623157e+308 到 1.7976931348623157e+308。double 类型的精度相对较高,可以更好地表示小数和控制精度。 Console.WriteLine("类型为:" + x5.GetType().Name + "数据为:" + x5);
-
布尔类型:bool字符串类型:
bool x6 = true;//布尔类型只有一个:bool。它用于表示逻辑值,即true或false。 Console.WriteLine("类型为:" + x6.GetType().Name + "数据为:" + x6);
2.字符串类型
- 字符串类型:string
(单字符)字符类型:char
拼接 | + 或 Concat |
比较 | == 或 Compare |
搜索 | IndexOf |
替换 | Replace |
分割 | Split |
转换 | Parse |
长度 | Length |
子串 | Substring |
反转 | Reverse |
大小写转换 | ToUpper/ToLower |
访问字符 | [] |
格式化 | Format |
//- 基础操作:拼接、比较、搜索、替换、分割、转换、长度等
//- 高级操作:子串、反转、大小写转换、字符访问
//- 格式化、连接等辅助操作
string str1 = "Hello";
string str2 = "World!";//string 类型用于表示字符串
char x7 = 'A';//单字符
Console.WriteLine("单字符:" + x7 + " 字符串:" + str1);
Console.WriteLine($"单字符:{x7}数据类型为:{x7.GetType().Name}");
//字符串长度
Console.WriteLine($"字符:串{str1}数据类型为:{str1.GetType().Name}长度为:{str1.Length}");
// 1. 拼接字符串
string result = str1 + " " + str2;//拼接
Console.WriteLine($"拼接字符串:{result}");
//2.比较字符串
string str11 = "Hello";
string str111 = new string(str1);
bool isEqual = str1 == str11;//内容比较
Console.WriteLine($"内容比较==:最简单:{isEqual}");
bool isEquals1 = string.Equals(str1,str11, StringComparison.OrdinalIgnoreCase);//与==作用基本一致,但更强大,可以指定比较规则(比如忽略大小写),相当于调用==的重载方法。
//StringComparison参数指定了比较类型,OrdinalIgnoreCase表示忽略大小写
Console.WriteLine($"内容比较Equals:可以指定比较规则:{isEquals1}");
int isEquals2 = string.Compare(str1,str11,true);//Compare返回整数表示比较结果,返回0表示相等。
//与Equals不同,它可以区分"abc"和"abcd"的顺序
//第二个参数指定为true,将忽略大小写。
//法语字母排序规则,并指定忽略符号
Console.WriteLine(isEquals2);
int isEquals3 = string.CompareOrdinal(str1,str11); //执行简单的二进制比较,不考虑本地化规则,性能最好
Console.WriteLine(isEquals3);
//----------------------查看地址
/*
unsafe //不安全
{
int* pointer = (int*)&str1;
Console.WriteLine((int)pointer); // 打印指针整数值
int* pointer1 = (int*)&str111;
Console.WriteLine((int)pointer1); // 打印指针整数值
}
*/
bool isEquals4 = Object.ReferenceEquals(str1 ,str111);//地址比较
Console.WriteLine(isEquals4);
// 3.搜索字符串
int index = str1.IndexOf("o");
Console.WriteLine($"搜索字符串:{index}");
// 4. 替换字符串
string str12 = "Hello World!";
string result1 = str12.Replace("World", "There");
Console.WriteLine($"替换字符串:{result1}");
// 5. 分割字符串
string str13 = "Hello,World,World";
string[] parts = str13.Split(',');
Console.WriteLine($"分割字符串:{string.Join("|", parts)}");
// 6. 截取子字符串
string substr = str12.Substring(0, 5);
Console.WriteLine($"截取子字符串:{substr}");
// 7. 访问单个字符
Console.WriteLine($"访问单个字符:{str1[0]}");
// 8. 字符串反转
string rev = new string(str12.Reverse().ToArray());//反转
Console.WriteLine($"字符串反转:{rev}");
// 9. 转换大小写
string upper = str12.ToUpper();
string lower = str12.ToLower();
Console.WriteLine("转换大小写");
Console.WriteLine(upper);
Console.WriteLine(lower);
// 10. 格式化字符串
string result2 = string.Format("{0} {1}", str1, str2);
Console.WriteLine("格式化字符串:" + result1);
3.数组
/* 数组*/
int[] intArray = {0, 1, 2, 3, 4}; // 声明一个长度为 5 的整数数组
Console.WriteLine($"类型:{intArray.GetType().Name} 数据:{string.Join("", intArray)} 长度:{intArray.Length}");
string[] strArray = new string[4]; // 声明一个长度为 4 的字符串数组
strArray = new string[] { "你好呀", "世界", "!" };
Console.WriteLine($"类型:{strArray.GetType().Name} 数据:{string.Join(",", strArray)} 长度:{strArray.Length}");
4.枚举类型:建议变量具有相关性比如一周有星期一到日,颜色:xxx--xxx,将名字映射到整数变量,如功能按键的使用,将变量映射到对应功能按键的名字,,,
/*举例*/
// 声明一个自定义枚举类型,用于表示一周的7天
enum Weekday
{
// 定义枚举成员 Monday,代表星期一
// 默认情况下,第一个枚举成员的值为 1
Monday = 1,
// 定义枚举成员 Tuesday,代表星期二
// 未手动赋值的情况下,默认自动递增,所以 Tuesday 的值为 2
Tuesday,
// 定义枚举成员 Wednesday,代表星期三
// 值为 3
Wednesday,
// 定义枚举成员 Thursday,代表星期四
// 值为 4
Thursday,
// 定义枚举成员 Friday,代表星期五
// 值为 5
Friday,
// 定义枚举成员 Saturday,代表星期六
// 值为 6// 声明一个 Weekday 类型的变量 day,用于存储枚举值
Weekday day;
// 将变量 day 赋值为 Saturday 枚举成员
// Saturday 对应的值是 5
day = Weekday.Saturday;
// 格式化输出 day 变量和强制转换后的 int 值
// day 打印为字符串"Saturday"
// 强制转换后打印整数 5
Console.WriteLine("{0}和{1}", day, (int)day);
Saturday,
// 定义最后一个枚举成员 Sunday,代表星期日
// 值为 7
Sunday
}