2C#进阶-01字符串常用方法

字符串常用方法

ToUpper()

        将字符转换成大写形式,仅对字母有效。返回值是转换后的字符串。

        使用:字符串变量.方法名();

        例如:name.ToUpper();

ToLower()

        将字符转换成小写形式,仅对字母有效。返回值是转换后的字符串。

        使用:字符串变量.方法名();

        例如:name.ToUpper();

Equals() 

        比较两个字符串是否相同。相同返回真,不相同返回假。

        使用:字符串变量.方法名(要比较的字符串变量);

        例如:name.Equals(name2);

Split() :

        分割字符串。返回字符串类型的数组。

        使用:字符串变量.方法名(用于分割的字符数组);

        例如:name3.Split(m_char);

Substring() :

        截取字符串。返回截取后的子串。

        使用:字符串变量.方法名(开始截取的位置);字符串变量.方法名(开始截取的位置,截取多长);

        例如:name.Substring(2); //从角标为 2 的位置,截取到最后;

                   name.Substring(2,2); //从角标为 2 的位置,截取 2 个字符;

IndexOf()

        查找某个字符串在字符串中第一次出现的位置。返回所在的索引位置值。如果没有找到,返回-1。

        使用:字符串变量.方法名(子字符串);

        例如:name.IndexOf(“on”);

LastIndexOf()

        查找某个字符串在字符串中最后一次出现的位置。返回所在的索引位置值。如果没有找到,返回-1。

        使用:字符串变量.方法名(子字符串);

        例如:name.IndexOf(“on”);

StartsWith()

        判断是否以...字符串开始。如果是,返回真;如果不是,返回假。

        使用:字符串变量.方法名(子字符串);

        演示:name.StartsWith(“Mo”);

EndsWith()

        判断是否以...字符串结束。如果是,返回真;如果不是,返回假。

        使用:字符串变量.方法名(子字符串);

        演示:name.EndsWith(“key”);

Replace() :

        将字符串中的某个字符串替换成一个新的字符串。返回新的字符串。

        使用:字符串变量.方法名(旧字符串,新字符串);

        演示:name.Replace(“Mon”, “CODE”);

Contains() :

        判断某个字符串中是否包含指定的字符串。如果包含返回真,否则返回假。

        使用:字符串变量.方法名(子字符串);

        例如:name.Contains(“key”);

Trim() :

        去掉字符串中前后空格。返回处理后的字符串。

        使用:字符串变量.方法名();

        例如:address.Trim();

TrimEnd()

        去掉字符串结束后的空格。返回处理后的字符串。

        使用:字符串变量.方法名();

        例如:address.TrimEnd();

TrimStart()

        去掉字符串开始前的空格。返回处理后的字符串。

        使用:字符串变量.方法名();

        例如:address.TrimStart();

IsNullOrEmpty()

        判断一个字符串是否为Null 或者空。如果为null 或者空,返回真;否则返回假。null 是不占内存空间的,而空字符串(“”)是占内存空间的。

        使用:string.方法名(字符串变量);

        例如:string.IsNullOrEmpty(name);

字符串的特点

字符串是引用类型

        字符串的数据是存储在堆空间,在栈空间中存储了该数据的引用地址。

字符串是不可变的

        当你给一个字符串变量重新赋值时,旧值并没有销毁,而是重新开辟一块空间来存储新值。

字符串可以看做是是自读的字符数组

        使用字符串变量[下标]的形式可以取字符串中指定的字符。也可以使用for 循环变量数组。

        字符串变量.Length;可以取得字符串字符的个数。

StringBuilder可变字符串

字符串的缺点

        当需要对一个字符串变量重复赋值时,在内存中会产生大量的垃圾数据信息。当重复赋值的频率很高时,执行的效率就会降低。

StringBuilder 简介

        String,字符串;Builder,构建器;连起来是“字符串构建器”。StringBuilder 是一个类。SB 类型的变量是引用类型。

        StringBuilder 类型的“字符串变量”,一直操作同一块内存空间,不会产生垃圾数据,且执行效率远远高于string 类型的字符串变量。

StringBuilder 使用方法

创建 StringBuilder 类型的变量

StringBuilder sb = new StringBuilder(); //创建一个对象。注意:StringBuilder 依赖 System.Text 命名空间。

sb 中追加数据

        sb.Append(i); //追加数据。

        sb.ToString(); //将 sb 转成字符串形式。

        演示①:单个数据的追加;

        演示②:使用for 循环循环追加数据。

        清空 sb 中的数据

        sb.Clear(); //将 sb 清空。

StringBuilder 效率测试

Stopwatch 

        Stopwatch,秒表计时器,用来记录程序运行的时间。

        注意:Stopwatch 依赖 System.Diagnostics 命名空间。

创建 Stopwatch 类型对象

        Stopwatch sw = new Stopwatch();

        sw.Start(); //计时器开始。

        sw.Stop(); //计时器结束。

        sw.Elapsed; //开始到结束之间的时长。

效率测试

        使用for 循环分别往string 和 StringBuilder 中追加 5 万个信息,统计时长。

思维扩展

        今天讲解的使用“秒表计时”来判断代码在时间上的执行效率。这个测试方法不仅仅局限于今天的案例,后期需要测试执行效率的时候,都可以使用这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值