全球快报:第十二单元 常用API
1. Math 数学类
为三角函数、对数函数和其他通用数学函数提供常数和静态方法。
public static class Math
字段
E | 表示自然对数的底,它由常数 e 指定。 |
---|---|
PI | 表示圆的周长与其直径的比值,由常数 π 指定。 |
Tau | 表示一转中的弧度数,由常量 τ 指定。 |
方法
方法 | 描述 |
---|---|
Abs | 绝对值 |
Acos | 余弦值为指定数字的角度 |
Asin | 返回正弦值为指定数字的角度。 |
Atan | 返回正切值为指定数字的角度。 |
Ceiling | 返回大于或等于指定的十进制数的最小整数值。 |
Cos | 返回指定角度的余弦值。 |
DivRem | 生成两个有符号数字的商和余数。 |
Pom | 返回指定数字的指定次幂。 |
Floor | 返回小于或等于指定的十进制数的最大整数值。 |
Max | 返回两个数字中较大的一个。 |
Min | 返回两个十进制数中较小的一个。 |
Round | 将小数值舍入到最接近的整数值,并将中点值舍入到最接近的偶数。 |
Sin | 返回指定角度的正弦值。 |
Sqrt | 返回指定数字的平方根。 |
Tan | 返回指定角度的正切值。 |
2. String 类
编号 | 属性或方法名 | 作用 |
---|---|---|
1 | Length | 获取字符串的长度,即字符串中字符的个数 |
2 | IndexOf | 返回整数,得到指定的字符串在原字符串中第一次出现的位置 |
3 | LastlndexOf | 返回整数,得到指定的字符串在原字符串中最后一次出现的位置 |
4 | Starts With | 返回布尔型的值,判断某个字符串是否以指定的字符串开头 |
5 | EndsWith | 返回布尔型的值,判断某个字符串是否以指定的字符串结尾 |
6 | ToLower | 返回一个新的字符串,将字符串中的大写字母转换成小写字母 |
7 | ToUpper | 返回一个新的字符串,将字符串中的小写字母转换成大写字母 |
8 | Trim | 返回一个新的字符串,不带任何参数时表示将原字符串中前后的空格删除。 参数为字符数组时表示将原字符串中含有的字符数组中的字符删除 |
9 | Remove | 返回一个新的字符串,将字符串中指定位置的字符串移除 |
10 | TrimStart | 返回一个新的字符串,将字符串中左侧的空格删除 |
11 | TrimEnd | 返回一个新的字符串,将字符串中右侧的空格删除 |
12 | PadLeft | 返回一个新的字符串,从字符串的左侧填充空格达到指定的字符串长度 |
13 | PadRight | 返回一个新的字符串,从字符串的右侧填充空格达到指定的字符串长度 |
14 | Split | 返回一个字符串类型的数组,根据指定的字符数组或者字符串数组中的字符 或字符串作为条件拆分字符串 |
15 | Replace | 返回一个新的字符串,用于将指定字符串替换给原字符串中指定的字符串 |
16 | Substring | 返回一个新的字符串,用于截取指定的字符串 |
17 | Insert | 返回一个新的字符串,将一个字符串插入到另一个字符串中指定索引的位置 |
18 | Concat | 返回一个新的字符串,将多个字符串合并成一个字符串 |
3. StringBuilder
表示可变字符字符串。 此类不能被继承, 用于高效率字符串拼接.
(资料图片仅供参考)
// Create a StringBuilder that expects to hold 50 characters.// Initialize the StringBuilder with "ABC".StringBuilder sb = new StringBuilder("ABC", 50);// Append three characters (D, E, and F) to the end of the StringBuilder.sb.Append(new char[] { "D", "E", "F" });// Append a format string to the end of the StringBuilder.sb.AppendFormat("GHI{0}{1}", "J", "k");// Display the number of characters in the StringBuilder and its string.Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());// Insert a string at the beginning of the StringBuilder.sb.Insert(0, "Alphabet: ");// Replace all lowercase k"s with uppercase K"s.sb.Replace("k", "K");// Display the number of characters in the StringBuilder and its string.Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());
尽管 StringBuilder 和 String 都表示字符序列,但它们的实现方式不同。 String 是不可变类型。 也就是说,出现的用于修改对象的每个操作 String 实际上都会创建一个新的字符串。
对于执行大量字符串操作的例程 (例如在循环中多次修改字符串的应用程序) ,重复修改字符串可能会显著降低性能。 替代方法是使用 StringBuilder ,它是一个可变字符串类。 可变性是指在创建类的实例后,可以通过追加、移除、替换或插入字符来修改它。 StringBuilder对象维护缓冲区以容纳对字符串的扩展。 如果空间可用,则会将新数据追加到缓冲区;否则,将分配一个新的更大的缓冲区,将原始缓冲区中的数据复制到新缓冲区,然后将新数据追加到新缓冲区。
内存分配
对象的默认容量 StringBuilder 是16个字符,默认的最大容量为 Int32.MaxValue 。 如果调用 StringBuilder() 和构造函数,则使用这些默认值 StringBuilder(String) 。
可以通过以下方式显式定义对象的初始容量 StringBuilder :
通过在 StringBuilder 创建对象时调用包含参数的任何构造函数
capacity
。通过将新值显式分配给 StringBuilder.Capacity 属性来展开现有 StringBuilder 对象。 请注意,如果新容量小于现有容量或大于 StringBuilder 对象的最大容量,则属性引发异常。
通过 StringBuilder.EnsureCapacity 使用新容量调用方法。 新容量不得大于 StringBuilder 对象的最大容量。 但是,与对属性的赋值不同 Capacity , EnsureCapacity 如果所需的新容量小于现有容量,则不会引发异常; 在这种情况下,方法调用不起作用。
4. Random 随机数类
表示伪随机数生成器,这是一种能够产生满足某些随机性统计要求的数字序列的算法。
方法 | 描述 |
---|---|
Next() | 返回一个非负随机整数。 |
Next(Int32) | 返回一个小于所指定最大值的非负随机整数。 |
Next(Int32,Int32) | 返回在指定范围内的任意整数。 |
NextDouble() | 返回一个大于或等于 0.0 且小于 1.0 的随机浮点数。 |
Sample() | 返回一个介于 0.0 和 1.0 之间的随机浮点数。 |
5. Array 数组操作类
Array 类的属性
下表列出了 Array 类中一些最常用的属性:
序号 | 属性 & 描述 |
---|---|
1 | IsFixedSize获取一个值,该值指示数组是否带有固定大小。 |
2 | IsReadOnly获取一个值,该值指示数组是否只读。 |
3 | Length获取一个 32 位整数,该值表示所有维度的数组中的元素总数。 |
4 | LongLength获取一个 64 位整数,该值表示所有维度的数组中的元素总数。 |
5 | Rank获取数组的秩(维度)。 |
如需了解 Array 类的完整的属性列表,请参阅微软的 C# 文档。
Array 类的方法
下表列出了 Array 类中一些最常用的方法:
序号 | 方法 & 描述 |
---|---|
1 | Clear根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。 |
2 | Copy(Array, Array, Int32)从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个 32 位整数指定。 |
3 | CopyTo(Array, Int32)从当前的一维数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。 |
4 | GetLength获取一个 32 位整数,该值表示指定维度的数组中的元素总数。 |
5 | GetLongLength获取一个 64 位整数,该值表示指定维度的数组中的元素总数。 |
6 | GetLowerBound获取数组中指定维度的下界。 |
7 | GetType获取当前实例的类型。从对象(Object)继承。 |
8 | GetUpperBound获取数组中指定维度的上界。 |
9 | GetValue(Int32)获取一维数组中指定位置的值。索引由一个 32 位整数指定。 |
10 | IndexOf(Array, Object)搜索指定的对象,返回整个一维数组中第一次出现的索引。 |
11 | Reverse(Array)逆转整个一维数组中元素的顺序。 |
12 | SetValue(Object, Int32)给一维数组中指定位置的元素设置值。索引由一个 32 位整数指定。 |
13 | Sort(Array)使用数组的每个元素的 IComparable 实现来排序整个一维数组中的元素。 |
14 | ToString() 返回一个表示当前对象的字符串。从对象(Object)继承。 |
6. 正则表达式
描述
正则表达式是对字符串操作的一种逻辑公式,使用“规则字符串”对字符串进行逻辑过滤
作用
1、处理字符串或分析大文本块 2、查找字符、验证文本 3、提取、编辑、替换或删除文本子字符串
创建正则语法 :
Regex reg = new Regex("正则表达式");bool result = reg.IsMatch("你要验证的字符串");
练习
手机号验证
邮箱验证
7. 格式字符串
平时常用的
Console.WriteLine("{0},{1}",3,4)string format = string.format("{0},{1}",3,4);
下表介绍标准数字格式说明符并显示每个格式说明符产生的示例输出。 有关使用标准数字格式字符串的其他信息,请参见注释一节;有关使用方法的完整演示,请参见示例一节。
格式说明符 | “属性” | 描述 | 示例 |
---|---|---|---|
“C”或“c” | 货币 | 结果:货币值。 受以下类型支持:所有数值类型。 精度说明符:十进制小数位数。 默认值精度说明符:由 NumberFormatInfo.CurrencyDecimalDigits 定义。 更多信息:货币(“C”)格式说明符。 | 123.456 ("C", en-US) -> $123.46 123.456 ("C", fr-FR) -> 123,46 € 123.456 ("C", ja-JP) -> ¥123 -123.456 ("C3", en-US) -> ($123.456) -123.456 ("C3", fr-FR) -> -123,456 € -123.456 ("C3", ja-JP) -> -¥123.456 |
“D”或“d” | 十进制 | 结果:整型数字,负号可选。 受以下类型支持:仅限整型类型。 精度说明符:数字位数下限。 默认值精度说明符:所需数字位数下限。 更多信息:十进制(“D”)格式说明符。 | 1234 ("D") -> 1234 -1234 ("D6") -> -001234 |
“E”或“e” | 指数(科学型) | 结果:指数表示法。 受以下类型支持:所有数值类型。 精度说明符:十进制小数位数。 默认值精度说明符:6. 更多信息:指数(“E”)格式说明符。 | 1052.0329112756 ("E", en-US) -> 1.052033E+003 1052.0329112756 ("e", fr-FR) -> 1,052033e+003 -1052.0329112756 ("e2", en-US) -> -1.05e+003 -1052.0329112756 ("E2", fr-FR) -> -1,05E+003 |
“F”或“f” | 定点 | 结果:整数和十进制小数,负号可选。 受以下类型支持:所有数值类型。 精度说明符:十进制小数位数。 默认值精度说明符:由 NumberFormatInfo.NumberDecimalDigits 定义。 更多信息:定点(“F”)格式说明符。 | 1234.567 ("F", en-US) -> 1234.57 1234.567 ("F", de-DE) -> 1234,57 1234 ("F1", en-US) -> 1234.0 1234 ("F1", de-DE) -> 1234,0 -1234.56 ("F4", en-US) -> -1234.5600 -1234.56 ("F4", de-DE) -> -1234,5600 |
“G”或“g” | 常规 | 结果:更紧凑的定点表示法或科学记数法。 受以下类型支持:所有数值类型。 精度说明符:有效位数。 默认值精度说明符:具体取决于数值类型。 更多信息:常规(“G”)格式说明符。 | -123.456 ("G", en-US) -> -123.456 -123.456 ("G", sv-SE) -> -123,456 123.4546 ("G4", en-US) -> 123.5 123.4546 ("G4", sv-SE) -> 123,5 -1.234567890e-25 ("G", en-US) -> -1.23456789E-25 -1.234567890e-25 ("G", sv-SE) -> -1,23456789E-25 |
“N”或“n” | 数字 | 结果:整数和十进制小数、组分隔符和十进制小数分隔符,负号可选。 受以下类型支持:所有数值类型。 精度说明符:所需的小数位数。 默认值精度说明符:由 NumberFormatInfo.NumberDecimalDigits 定义。 更多信息:数字(“N”)格式说明符。 | 1234.567 ("N", en-US) -> 1,234.57 1234.567 ("N", ru-RU) -> 1 234,57 1234 ("N1", en-US) -> 1,234.0 1234 ("N1", ru-RU) -> 1 234,0 -1234.56 ("N3", en-US) -> -1,234.560 -1234.56 ("N3", ru-RU) -> -1 234,560 |
“P”或“p” | 百分比 | 结果:数字乘以 100 并以百分比符号显示。 受以下类型支持:所有数值类型。 精度说明符:所需的小数位数。 默认值精度说明符:由 NumberFormatInfo.PercentDecimalDigits 定义。 更多信息:百分比(“P”)格式说明符。 | 1 ("P", en-US) -> 100.00 % 1 ("P", fr-FR) -> 100,00 % -0.39678 ("P1", en-US) -> -39.7 % -0.39678 ("P1", fr-FR) -> -39,7 % |
“R”或“r” | 往返过程 | 结果:可以往返至相同数字的字符串。 受以下类型支持:Single、Double 和 BigInteger。 注意:建议只用于 BigInteger 类型。 对于 Double 类型,请使用 "G17";对于 Single 类型,请使用 "G9"。 精度说明符:已忽略。 更多信息:往返过程(“R”)格式说明符。 | 123456789.12345678 ("R") -> 123456789.12345678 -1234567890.12345678 ("R") -> -1234567890.1234567 |
“X”或“x” | 十六进制 | 结果:十六进制字符串。 受以下类型支持:仅限整型类型。 精度说明符:结果字符串中的位数。 更多信息:十六进制(“X”)格式说明符。 | 255 ("X") -> FF -1 ("x") -> ff 255 ("x4") -> 00ff -1 ("X4") -> 00FF |
任何其他单个字符 | 未知说明符 | 结果:在运行时引发 FormatException。 |
例:
decimal value = 123.456m;Console.WriteLine(value.ToString("C2"));// Displays ¥123.46decimal value = 123.456m;Console.WriteLine("Your account balance is {0:C2}.", value);// Displays "Your account balance is ¥123.46."int value;value = 12345;Console.WriteLine(value.ToString("D"));// Displays 12345Console.WriteLine(value.ToString("D8"));// Displays 00012345value = -12345;Console.WriteLine(value.ToString("D"));// Displays -12345Console.WriteLine(value.ToString("D8"));// Displays -00012345
视频教程:
誉尚学教育_誉尚学教育腾讯课堂官网 (qq.com)或者:C# 最强入门编程(.Net 学习系列开山巨作)_哔哩哔哩_bilibili