C# string字符串详解

2023-05-16

字符串常用成员:

string str = Console.ReadLine();
str.Length;	//获取字符串的长度
str[0];    str[str.Length - 1];	//字符串中的第一个字符和最后一个字符
str.IndexOf("@") ;		//得到的是指定字符串在原字符串中第一次出现的位置,
str.LastIndexOf("@");		//LastlndexOf 方法得到的是指定字符串在查找的字符串中最后一次出现的位置。
str.Replace(",", "_");		//将字符串中所有的‘,’替换成‘_’。
str.Insert(1, "@@@");	//将‘@@@’插入到字符串的第 2 个字符的位置。

Substring(指定位置); //从字符串中的指定位置开始截取到字符串结束
Substring(指定位置, 截取的字符的个数); //从字符串中的指定位置开始截取指定字符个数的字符

截取字串:

        string str = Console.ReadLine();
        int firstIndex = str.IndexOf("@");
        int lastIndex = str.LastIndexOf("@");
        if(firstIndex != -1 && firstIndex == lastIndex)
        {
            str = str.Substring(0, firstIndex);
        }
        Console.WriteLine("邮箱中的用户名是:" + str);

数据转换:

//隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围大的数据类型。
//例如将 int 类型的值转换成 double 类型的值,将 int 类型的值转换成 long 类型的值,或者将 float 类型的值转换成 double 类型的值。
int a = 100;
double d = a;  //将int类型转换为double类型
float f = 3.14f;
d = f;    //将float类型转换为double类型


//强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的,但数据类型需要兼容。
//例如 int 型转换成 float 型是可行的,但 float 型转换成 int 型则会造成数据精度丢失,而且字符串类型与整数类型之间是无法进行强制类型转换的。
数据类型 变量名 = (数据类型)  变量名或值;
double dbl_num = 12345678910.456;
int k = (int) dbl_num ;//此处运用了强制转换


//C# Convert方法:数据类型转换
         float num1 = 82.26f;
         int integer;
         string str;
         integer = Convert.ToInt32(num1);
         str = Convert.ToString(num1);
         Console.WriteLine("转换为整型数据的值{0}", integer);
         Console.WriteLine("转换为字符串{0},",str);

Parse 方法:

//C# Parse 方法用于将字符串类型转换成任意类型,具体的语法形式如下。
数据类型   变量 = 数据类型.Parse(字符串类型的值);
int num1 = int.Parse(Console.ReadLine());

C#装箱和拆箱(值类型和引用类型):

//C# ToString 方法用于将任意的数据类型转换成字符串类型,例如将整数类型转换成字符串类型。
int a=100;
string str=a.ToString();	//这样整型变量 a 即可被转换成字符串类型。

//在 C# 语言中数据类型分为值类型和引用类型,将值类型转换为引用类型的操作称为装箱,相应地将引用类型转换成值类型称为拆箱。

//在上面的转换中 int 类型是值类型,而 string 类型是引用类型,当将值类型变量 a 的值转换成引用类型变量 str 时就是一个装箱的操作,
// 而拆箱操作则是将引用类型变量 str 的值再转换成整型的过程,转换的代码如下。 
a=int.Parse(str);	//这样就完成了一个简单的装箱和拆箱操作。



int val = 100;
object obj = val;
Console.WriteLine("对象的值 = {0}", obj);	//这是一个装箱的过程,是将值类型转换为引用类型的过程

int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine("num: {0}", num);	//这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程

正则表达式:

//在 Main 方法中从控制台输入一个邮箱,使用正则表达式判断其正确性:

//在本例中邮箱验证的正则表达式的写法是包含 @,在 @ 前面是字母或者数字、下画线,在 @ 后面也是字母或者数字、下画线,
//并且字母后面要含有.,在 . 后面还要加上字母或者数字、下画线。具体的代码如下。 
        Console.WriteLine("请输入一个邮箱");
        string email = Console.ReadLine();
        Regex regex = new Regex(@"^(\w)+(\.\w)*@(\w)+((\.\w+)+)$");
        if (regex.IsMatch(email))
        {
            Console.WriteLine("邮箱格式正确。");
        }
        else
        {
            Console.WriteLine("邮箱格式不正确。");
        }

编号正则表达式作用
1\d{15}|\d{18}验证身份证号码(15位或18位)
2\d{3}-\d{8}|\d{4}-\d{7}验证国内的固定电话(区号有3位或4位,并在区号和电话号码之 间加上-)
3^[1-9]\d*$验证字符串中都是正整数
4^-[1-9]\d*$验证字符串中都是负整数
5^-?[1-9]\d*$验证字符串中是整数
6^[A-Za-z]+$验证字符串中全是字母
7A[A-Za-z0-9]+$验证字符串由数字和字母构成
8[\u4e00-\u9fa5]匹配字符串中的中文
9[^\x00-\xff]匹配字符串中的双字节字符(包括汉字)

文章目录

      • C#字符串及常用方法
      • C#数据类型转换
      • C# Convert方法:数据类型转换
      • C#正则表达式(Regex类)

C#字符串及常用方法

在字符串操作中常用的属性或方法如下表所示。

编号属性或方法名作用
1Length获取字符串的长度,即字符串中字符的个数
2IndexOf返回整数,得到指定的字符串在原字符串中第一次出现的位置
3LastlndexOf返回整数,得到指定的字符串在原字符串中最后一次出现的位置
4StartsWith返回布尔型的值,判断某个字符串是否以指定的字符串开头
5EndsWith返回布尔型的值,判断某个字符串是否以指定的字符串结尾
6ToLower返回一个新的字符串,将字符串中的大写字母转换成小写字母
7ToUpper返回一个新的字符串,将字符串中的小写字母转换成大写字母
8Trim返回一个新的字符串,不带任何参数时表示将原字符串中前后的空格删除。 参数为字符数组时表示将原字符串中含有的字符数组中的字符删除
9Remove返回一个新的字符串,将字符串中指定位置的字符串移除
10TrimStart返回一个新的字符串,将字符串中左侧的空格删除
11TrimEnd返回一个新的字符串,将字符串中右侧的空格删除
12PadLeft返回一个新的字符串,从字符串的左侧填充空格达到指定的字符串长度
13PadRight返回一个新的字符串,从字符串的右侧填充空格达到指定的字符串长度
14Split返回一个字符串类型的数组,根据指定的字符数组或者字符串数组中的字符 或字符串作为条件拆分字符串
15Replace返回一个新的字符串,用于将指定字符串替换给原字符串中指定的字符串
16Substring返回一个新的字符串,用于截取指定的字符串
17Insert返回一个新的字符串,将一个字符串插入到另一个字符串中指定索引的位置
18Concat返回一个新的字符串,将多个字符串合并成一个字符串

C#数据类型转换

C# 允许使用两种转换方式:隐式类型转换和显式类型转换。

  1. 隐式类型转换
    这些转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
  2. 显式类型转换
    显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

常用的类型转换方法如下表所示。

方法描述
ToBoolean如果可能的话,把类型转换为布尔型。
ToByte把类型转换为字节类型。
ToChar如果可能的话,把类型转换为单个 Unicode 字符类型。
ToDateTime把类型(整数或字符串类型)转换为 日期-时间 结构。
ToDecimal把浮点型或整数类型转换为十进制类型。
ToDouble把类型转换为双精度浮点型。
ToInt16把类型转换为 16 位整数类型。
ToInt32把类型转换为 32 位整数类型。
ToInt64把类型转换为 64 位整数类型。
ToSbyte把类型转换为有符号字节类型。
ToSingle把类型转换为小浮点数类型。
ToString把类型转换为字符串类型。
ToType把类型转换为指定类型。
ToUInt16把类型转换为 16 位无符号整数类型。
ToUInt32把类型转换为 32 位无符号整数类型。
ToUInt64把类型转换为 64 位无符号整数类型。

隐式数值转换包括以下几种:
• 从 sbyte 类型到 short,int,long,float,double,或 decimal 类型。
• 从 byte 类型到 short,ushort,int,uint,long,ulong,float,double,或 decimal 类型。
• 从 short 类型到 int,long,float,double,或 decimal 类型。
• 从 ushort 类型到 int,uint,long,ulong,float,double,或 decimal 类型。
• 从 int 类型到 long,float,double,或 decimal 类型。
• 从 uint 类型到 long,ulong,float,double,或 decimal 类型。
• 从 long 类型到 float,double,或 decimal 类型。
• 从 ulong 类型到 float,double,或 decimal 类型。
• 从 char 类型到 ushort,int,uint,long,ulong,float,double,或 decimal 类型。
• 从 float 类型到 double 类型。

其中,从 int,uint 或 long 到 float 以及从 long 到 double 的转换可能会导致精度下降,但决不会引起数量上的丢失。其它的隐式数值转换则不会有任何信息丢失。
隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。

C# Convert方法:数据类型转换

C# Convert 方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。

具体的语法形式如下。

数据类型  变量名 = convert.To数据类型(变量名);

这里 Convert.To 后面的数据类型要与等号左边的数据类型相匹配。

Convert 类常用的类型转换方法如下表所示。

方法说明
Convert.ToInt16()转换为整型(short)
Convert.ToInt32()转换为整型(int)
Convert.ToInt64()转换为整型(long)
Convert.ToChar()转换为字符型(char)
Convert.ToString()转换为字符串型(string)
Convert.ToDateTime()转换为日期型(datetime)
Convert.ToDouble()转换为双精度浮点型(double)
Conert.ToSingle()转换为单精度浮点型(float)

对于整型和浮点型的强制数据类型操作也可以使用 Convert 方法代替,但是依然会损失存储范围大的数据类型的精度。

C#正则表达式(Regex类)

正则表达式的主要作用是验证字符串的值是否满足一定的规则,在页面输入数据验证方面的应用比较多。

例如验证输入的邮箱是否合法、输入的身份证号码是否合法、输入的用户名是否满足条件等。

正则表达式并不是 C# 语言独有的,在大多数的编程语言中都是支持的,包括一些脚本语言也支持,例如 JavaScript、JQucry 等。

正则表达式是专门处理字符串操作的,其本身有固定的写法。

正则表达式的符号主要分为元字符和表示重复的字符,分别如下表所示。

正则表达式中的元字符

编号字符描述
1.匹配除换行符以外的所有字符
2\w匹配字母、数字、下画线
3\s匹配空白符(空格)
4\d匹配数字
5\b匹配表达式的开始或结束
6^匹配表达式的开始
7$匹配表达式的结束

正则表达式中表示重复的字符

编 号字 符描 述
1*0次或多次字符
2?0次或1次字符
3+1次或多次字符
4{n}n次字符
5{n,M}n到M次字符
6{n, }n次以上字符

此外,在正则表达式中使用|分隔符表示多个正则表达式之间的或者关系,也就是在匹配某一个字符串时满足其中一个正则表达式即可。

例如使用正则表达式来验证身份证信息,第一代身份证是由 15 个数字构成的,第二代身份证是由 18 个数字构成的,正则表达式可以写成 \d{15}|\d{18}

在 C# 语言中使用正则表达式时要用到 Regex 类,该类在 System.Text.RegularExpressions 名称空间中。

在 Regex 类中使用 IsMatch 方法判断所匹配的字符串是否满足正则表达式的要求。

【实例】在 Main 方法中从控制台输入一个邮箱,使用正则表达式判断其正确性。

根据题目要求,在本例中邮箱验证的正则表达式的写法是包含 @,在 @ 前面是字母或者数字、下画线,在 @ 后面也是字母或者数字、下画线,并且字母后面要含有.,在 . 后面还要加上字母或者数字、下画线。具体的代码如下。

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入一个邮箱");
        string email = Console.ReadLine();
        Regex regex = new Regex(@"^(\w)+(\.\w)*@(\w)+((\.\w+)+)$");
        if (regex.IsMatch(email))
        {
            Console.WriteLine("邮箱格式正确。");
        }
        else
        {
            Console.WriteLine("邮箱格式不正确。");
        }
    }
}

邮箱的正则表达式也有多种写法,上面的写法只是其中的一种,例如将实例中的\w替换成[a-zA-Z0-9_]

此外,在 Regex 类中还提供了很多方法来操作正则表达式

字符描述
\转义字符,将一个具有特殊功能的字符转义为一个普通字符,或反过来
(pattern)匹配 pattern 并获取这一匹配
(?:pattern)匹配 pattern 但不获取匹配结果
(?=pattern)正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串
(?!pattern)负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串
x|y匹配x或y。例如,‘z
[xyz]字符集合。匹配所包含的任意一个字符。例如,‘[abc]’可以匹配“plain”中的‘a’
[^xyz]负值字符集合。匹配未包含的任意字符。例如,‘[^abc]’可以匹配“plain”中的‘p’
[a-z]匹配指定范围内的任意字符。例如,‘[a-z]’可以匹配’a’到’z’范围内的任意小写字母字符
[^a-z]匹配不在指定范围内的任意字符。例如,‘[^a-z]’可以匹配不在‘a’~‘z’'内的任意字符
\B匹配非单词边界
\D匹配一个非数字字符,等价于 [^0-9]
\f匹配一个换页符
\n匹配一个换行符
\r匹配一个回车符
\S匹配任何非空白字符
\t匹配一个制表符
\v匹配一个垂直制表符。等价于 \x0b 和 \cK
\W匹配任何非单词字符。等价于‘[^A-Za-z0-9_]’

除了邮箱的正则表达式以外,还有一些常用的正则表达式,如下表所示。

编号正则表达式作用
1\d{15}|\d{18}验证身份证号码(15位或18位)
2\d{3}-\d{8}|\d{4}-\d{7}验证国内的固定电话(区号有3位或4位,并在区号和电话号码之 间加上-)
3^[1-9]\d*$验证字符串中都是正整数
4^-[1-9]\d*$验证字符串中都是负整数
5^-?[1-9]\d*$验证字符串中是整数
6^[A-Za-z]+$验证字符串中全是字母
7A[A-Za-z0-9]+$验证字符串由数字和字母构成
8[\u4e00-\u9fa5]匹配字符串中的中文
9[^\x00-\xff]匹配字符串中的双字节字符(包括汉字)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# string字符串详解 的相关文章

  • 面试题32:从上往下打印二叉树

    面试题32 xff08 一 xff09 xff1a 不分行 题目 xff1a 从上往下打印出二叉树的每个结点 xff0c 同一层的结点按照从左到右的顺序打印 代码 span class token macro property span c
  • 面试题33:二叉搜索树的后序遍历序列

    题目 输入一个整数数组 xff0c 判断该数组是不是某二叉搜索树的后序遍历的结果 如果是则返回true xff0c 否则返回false 假设输入的数组的任意两个数字都互不相同 代码 span class token macro proper
  • 面试题34:二叉树中和为某一值的路径

    题目 输入一棵二叉树和一个整数 xff0c 打印出二叉树中结点值的和为输入整数的所有路径 从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 代码 span class token macro property span class
  • 面试题35:复杂链表的复制

    题目 请实现函数ComplexListNode Clone ComplexListNode pHead xff0c 复 制一个复杂链表 在复杂链表中 xff0c 每个结点除了有一个m pNext指针指向下一个结点外 xff0c 还有一个m
  • 面试题36:二叉搜索树与双向链表

    题目 输入一棵二叉搜索树 xff0c 将该二叉搜索树转换成一个排序的双向链表 要求不能创建任何新的结点 xff0c 只能调整树中结点指针的指向 代码 span class token macro property span class to
  • 面试题37:序列化二叉树

    题目 请实现两个函数 xff0c 分别用来序列化和反序列化二叉树 代码 span class token macro property span class token directive keyword include span span
  • 面试题38:字符串的排列

    文章目录 字符串的排列扩展 子集扩展 组合扩展 排列 字符串的排列 题目 输入一个字符串 xff0c 打印出该字符串中字符的所有排列 例如输入字符串abc xff0c 则打印出由字符a b c所能排列出来的所有字符串abc acb bac
  • 面试题39:数组中出现次数超过一半的数字

    题目 数组中有一个数字出现的次数超过数组长度的一半 xff0c 请找出这个数字 例如输入一个长度为9的数组 1 2 3 2 2 2 5 4 2 由于数字2在数组中 出现了5次 xff0c 超过数组长度的一半 xff0c 因此输出2 I O
  • 面试题40:最小的k个数

    题目 输入n个整数 xff0c 找出其中最小的k个数 例如输入4 5 1 6 2 7 3 8这8个数字 xff0c 则最小的4个数字是1 2 3 4 code 方法一 xff1a 时间复杂度为O n 的算法 xff0c 只有当我们可以修改输
  • 面试题41:数据流中的中位数

    题目 如何得到一个数据流中的中位数 xff1f 如果从数据流中读出奇数个数值 xff0c 那么中位数就是所有数值排序之后位于中间的数值 如果从数据流中读出偶数个数值 xff0c 那么中位数就是所有数值排序之后中间两个数的平均值 I O nu
  • 如何由Xubuntu桌面系统还原至Ubuntu系统?

    假定读者原来的系统为ubuntu桌面系统 xff0c 并且根据如下命令更换到xubuntu桌面系统 xff1a sudo apt get install xrdp sudo apt get install vnc4server sudo a
  • 神经网络拟合函数表达式,神经网络拟合函数matlab

    1 matlab中如何用神经网络求得数据拟合函数 xff1f 我是做这个方向的 xff0c 神经网络拟合出的曲线是没有相应的函数的 xff0c 他是根据许多的权重值 xff0c 阀值和偏置值的训练确定的曲线 还有什么相关问题可以问我 xff
  • 面试题42:连续子数组的最大和

    题目 输入一个整型数组 xff0c 数组里有正数也有负数 数组中一个或连续的多个整数组成一个子数组 求所有子数组的和的最大值 要求时间复杂度为O n code 解法一 xff1a 暴力法 span class token macro pro
  • 面试题43:从1到n整数中1出现的次数

    题目 输入一个整数n xff0c 求从1到n这n个整数的十进制表示中1出现的次数 例如 输入12 xff0c 从1到12这些整数中包含1 的数字有1 xff0c 10 xff0c 11和12 xff0c 1一共出现了5次 code span
  • 面试题:数组中找出两个单数

    题目 一个数组中除了两个数是单个的 xff0c 其他的数都有两个 xff0c 请找出这两个单个的数 code span class token macro property span class token directive keywor
  • 面试题44:数字序列中某一位的数字

    题目 数字以0123456789101112131415 的格式序列化到一个字符序列中 在这个序列中 xff0c 第5位 xff08 从0开始计数 xff09 是5 xff0c 第13位是1 xff0c 第19位是4 xff0c 等等 请写
  • mvIMPACT 相机 SDK C++

    Overview 这是为想要使用mvIMPACT Acquire的c 43 43 接口的开发人员编写的文档 它基于C接口 xff0c 但是提供了一种更方便的面向对象的方法来处理设备驱动程序提供的属性和函数 SDK mvIMPACT xff0
  • 面试题:两个链表结构的数据相加,保存到新链表。

    使用STL span class token macro property span class token directive keyword include span span class token string lt iostrea
  • 软件建模基础

    摘录自某PPT 文章目录 软件建模基础0 软件质量属性0 1 如何评价代码质量0 2 软件质量属性 1 面向对象1 0 面向对象知识点1 1 面向对象四大特性1 1 xff08 封装 xff09 1 1 xff08 抽象 xff09 1 1
  • 如何扫描图像,查找表 和 用OpenCV进行时间测量

    英文版原文链接 xff1a How to scan images lookup tables and time measurement with OpenCV 文章目录 目标测试用例图像矩阵如何存储在内存之中 遍历方式一 xff1a 高效的

随机推荐

  • DDD开发

    内容来自某PPT 文章目录 DDD开发1 领域 限定上下文 实体 值对象1 1 领域 子域1 2 核心域 通用域 支撑域1 3 通用语言1 4 限界上下文 xff1a 定义领域边界的利器1 5 实体1 6 值对象1 7 实体 VS 值对象
  • 嵌入式软件开发工程师求职要求

    文章目录 他人感悟工作职责任职要求嵌入式软件开发涉及的知识点很多 xff0c 我仅简单说一下 xff1a 他人感悟 一线工程师告诉你嵌入式真实现状与发展前景 当我们谈论嵌入式时我们究竟在谈什么 工作职责 负责硬件平台bring up xff
  • kolla-ansible openstack登录 证书不可用

    根据官方文档配置kolla ansible之后 xff0c 创建openstack实例 xff0c 登录openstack出现证书不可用 xff0c 如图 问题排查 尝试过 更新openrc sh文件增加OS TOKEN环境变量 查看日志
  • 联发科2021笔试题:字符串中找到 出现次数 最多的单个字符

    I O描述 输入 xff1a span class token string 34 aaaaabbbbbBBBBBAAAAA 34 span 输出 xff1a A span class token punctuation span span
  • 对矩阵的 掩码运算

    英文链接 xff1a Mask operations on matrices 文章目录 测试用例代码基本函数二维滤波器函数 矩阵的掩码操作非常简单 其思想是我们根据掩码矩阵 也称为内核 重新计算图像中每个像素的值 此掩码保存的值将调整相邻像
  • 对图片的操作

    英文原文链接 xff1a Operations with images 文章目录 输入 输出图像的基本操作内存管理和引用计数基本操作可视化图像 输入 输出 从文件加载一个图像 Mat img span class token operato
  • 使用OpenCV相加(混合)两个图像

    使用OpenCV相加 混合 两个图像 xff1a Adding blending two images using OpenCV 文章目录 目标理论源码解释结果 目标 什么是线性混合 xff0c 为什么它有用 如何使用addWeighted
  • 改变图像的对比度和亮度

    英文链接 xff1a Changing the contrast and brightness of an image 文章目录 目标理论图像处理像素处理亮度和对比度调整 源码解释结果实例亮度和对比度调整图像灰度校正 xff08 Gamma
  • 离散傅里叶变换

    英文链接 xff1a Discrete Fourier Transform 目标 什么是傅里叶变换 xff0c 为什么要用它 在OpenCV中怎么做 使用诸如 copyMakeBorder merge dft getOptimalDFTSi
  • 使用XML和YAML文件的 文件输入和输出

    英文链接 xff1a File Input and Output using XML and YAML files 文章目录 目标源码解释结果 目标 如何打印和读取文本条目到文件 和 OpenCV使用YAML或XML文件 如何为OpenCV
  • 如何使用OpenCV的parallel_for_并行化你的代码

    英文链接 xff1a How to use the OpenCV parallel for to parallelize your code 文章目录 目的先决条件简单的示例 绘制曼德尔布罗特集 xff08 Mandelbrot set x
  • 摇杆滑块机构运动模型

    clc span class token punctuation span close all span class token punctuation span r1为杆1的长度 xff0c r2为杆2的长度 xff0c d为偏置距离 r
  • 广义逆矩阵A+:行列满秩法和奇异值分解法

    奇异值的物理意义是什么 xff1f 广义逆矩阵A 43 SVD 矩阵奇异值分解 原理与几何意义 SVD xff08 奇异值分解 xff09 小结 超定方程 最小二乘解 奇异值分解 xff08 SVD xff09 A span class t
  • MQ-2烟雾浓度传感器

    文章目录 一 模块简介二 工作原理三 程序设计 本实验将采集到的传感器数据利用ADC转换 xff0c 将转换后的电压值显示在串口调试助手上 一 模块简介 MQ 2烟雾传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡 SnO2 当烟雾
  • git基础操作

    在 Windows 系统中可以安装 Git for Windows 客户端 xff1a span class token string 39 把当前所在目录变成一个本地仓库 39 span span class token function
  • git分支操作

    span class token string 39 每次提交都要手动输入用户名和密码 xff0c 若想避免这些麻烦 xff0c 可以在系统中创建 SSH 公私钥 xff0c 并将公钥放到 GitHub 指定位置 如此操作即可生成 GitH
  • shape_match

    使用OpenCV的dnn模块实时目标检测 非极大值抑制 xff08 Non Maximum Suppression xff0c NMS xff09 NMS 非极大值抑制 span class token comment test cpp s
  • C#基础语法

    Console span class token punctuation span span class token function Write span span class token punctuation span span cl
  • C# 类&对象

    输入行 xff1a span class token comment 将从控制台输入的值转换成int类型 span span class token keyword int span num span class token operato
  • C# string字符串详解

    字符串常用成员 xff1a span class token keyword string span str span class token operator 61 span Console span class token punctu