专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

C为什么要用StartsWith而不是Substring进行

  字符串的截取匹配操作在开发中非常常见,比如下面这个示例:我要匹配查找出来字符串数组中以abc开头的字符串并打印,我下面分别用了两种方式实现,代码如下:
  spanclasscodesnippetouterspanclasscodesnippetkeywordusingspanSystem;spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterspanclasscodesnippetkeywordnamespacespanspanclasscodesnippettitleConsoleApp23spanspanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordclassspanspanclasscodesnippettitleProgramspanspanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetfunctionspanclasscodesnippetkeywordstaticspanspanclasscodesnippetkeywordvoidspanspanclasscodesnippettitleMainspan(spanclasscodesnippetparamsspanclasscodesnippetkeywordstringspan〔〕argsspan)spanspanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordstringspan〔〕strsspanclasscodesnippetkeywordnewspanspanclasscodesnippetkeywordstringspan〔〕{spanclasscodesnippetstringabc123span,spanclasscodesnippetstringabc456span,spanclasscodesnippetstringab123span,spanclasscodesnippetstringa12345span};spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterspanclasscodesnippetcomment方法1spanspanspanclasscodesnippetouterspanclasscodesnippetkeywordforeachspan(spanclasscodesnippetkeywordvarspanstrspanclasscodesnippetkeywordinspanstrs)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordifspan(str。Substring(spanclasscodesnippetnumber0span,spanclasscodesnippetnumber3span)spanclasscodesnippetstringabcspan)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterConsole。WriteLine(str);spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouterConsole。WriteLine();spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterspanclasscodesnippetcomment方法2spanspanspanclasscodesnippetouterspanclasscodesnippetkeywordforeachspan(spanclasscodesnippetkeywordvarspanstrspanclasscodesnippetkeywordinspanstrs)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordifspan(str。StartsWith(spanclasscodesnippetstringabcspan))spanspanclasscodesnippetouter{spanspanclasscodesnippetouterConsole。WriteLine(str);spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterConsole。ReadKey();spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouter
  span
  运行结果如下:
  诚然,两种方法都输出了正确的结果。
  那么既然,两种方式都能实现,这两种方法有没有什么区别呢?当然有的,而且大多数时候,一个老练的程序员都会用StartsWith而不是Substring,为什么呢?
  往下看,我把数据源修改下:
  spanclasscodesnippetouterspanclasscodesnippetfunctionspanclasscodesnippetkeywordstaticspanspanclasscodesnippetkeywordvoidspanspanclasscodesnippettitleMainspan(spanclasscodesnippetparamsspanclasscodesnippetkeywordstringspan〔〕argsspan)spanspanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordstringspan〔〕strsspanclasscodesnippetkeywordnewspanspanclasscodesnippetkeywordstringspan〔〕{spanclasscodesnippetstringabc123span,spanclasscodesnippetstringabc456span,spanclasscodesnippetstringab123span,spanclasscodesnippetstringa12345span,spanclasscodesnippetstringabcspan,spanclasscodesnippetstringabspan};spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterspanclasscodesnippetcomment方法1spanspanspanclasscodesnippetouterspanclasscodesnippetkeywordforeachspan(spanclasscodesnippetkeywordvarspanstrspanclasscodesnippetkeywordinspanstrs)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordifspan(str。Substring(spanclasscodesnippetnumber0span,spanclasscodesnippetnumber3span)spanclasscodesnippetstringabcspan)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterConsole。WriteLine(str);spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouterConsole。WriteLine();spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterspanclasscodesnippetcomment方法2spanspanspanclasscodesnippetouterspanclasscodesnippetkeywordforeachspan(spanclasscodesnippetkeywordvarspanstrspanclasscodesnippetkeywordinspanstrs)spanspanclasscodesnippetouter{spanspanclasscodesnippetouterspanclasscodesnippetkeywordifspan(str。StartsWith(spanclasscodesnippetstringabcspan))spanspanclasscodesnippetouter{spanspanclasscodesnippetouterConsole。WriteLine(str);spanspanclasscodesnippetouter}spanspanclasscodesnippetouter}spanspanclasscodesnippetouter
  spanspanclasscodesnippetouterConsole。ReadKey();spanspanclasscodesnippetouter}span
  运行后,方法一直接崩了,但是方法2则可以正确运行出来结果
  看一下Substring的用法解释:startIndex加length指示不在此实例内的位置。或startIndex或length小于零。,所以当字符串小于你要截取的长度时,你如果没用trycatch去捕获异常,代码就崩溃了。
  spanclasscodesnippetouterspanclasscodesnippetcommentspanspanspanclasscodesnippetouterspanclasscodesnippetcomment摘要:spanspanspanclasscodesnippetouterspanclasscodesnippetcomment从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。spanspanspanclasscodesnippetouterspanclasscodesnippetcommentspanspanspanclasscodesnippetouterspanclasscodesnippetcomment参数:spanspanspanclasscodesnippetouterspanclasscodesnippetcommentstartIndex:spanspanspanclasscodesnippetouterspanclasscodesnippetcomment此实例中子字符串的起始字符位置(从零开始)。spanspanspanclasscodesnippetouterspanclasscodesnippetcommentspanspanspanclasscodesnippetouterspanclasscodesnippetcommentlength:spanspanspanclasscodesnippetouterspanclasscodesnippetcomment子字符串中的字符数。spanspanspanclasscodesnippetouterspanclasscodesnippetcommentspanspanspanclasscodesnippetouterspanclasscodesnippetcomment返回结果:spanspanspanclasscodesnippetouterspanclasscodesnippetcomment与此实例中在length处开头、长度为startIndex的子字符串等效的一个字符串;如果System。String。Empty等于此实例的长度且spanspanspanclasscodesnippetouterspanclasscodesnippetcommentstartIndex为零,则为length。spanspanspanclasscodesnippetouterspanclasscodesnippetcommentspanspanspanclasscodesnippetouterspanclasscodesnippetcomment异常:spanspanspanclasscodesnippetouterspanclasscodesnippetcommentT:System。ArgumentOutOfRangeException:spanspanspanclasscodesnippetouterspanclasscodesnippetcommentstartIndex加length指示不在此实例内的位置。或startIndex或length小于零。spanspanspanclasscodesnippetouter〔spanclasscodesnippetmetaSecuritySafeCriticalspan〕spanspanclasscodesnippetouterspanclasscodesnippetfunctionspanclasscodesnippetkeywordpublicspanStringspanclasscodesnippettitleSubstringspan(spanclasscodesnippetparamsspanclasscodesnippetkeywordintspanstartIndex,spanclasscodesnippetkeywordintspanlengthspan)span;span
  所以,我们需要慎用Substring,如果非要用,一定需要进行异常处理。

在功德林监狱改造的国民党战犯军衔军职地位比较1956年,原本分散在各地关押的原国民党高级战犯,被陆续送至北京功德林监狱接受集中改造,比如杜聿明黄维分别从山东禹城和河北永年转来。经相关审定,被列为国民党战犯者计有997人(实际陕西1季报全国15强,西安最强,榆林有钱,商洛猛,6城房价下跌陕西,是我国西北区域一个强大的省份。这里有悠久的历史文化,在新时代也呈现出新的风貌。2022年一季度已经过去,陕西的发展情况如何呢?近期,相关经济数据指标已经出炉。今天,就让我们一1987年总参谋长和国防部长视察北海舰队,8位首长合影,都有谁?1987年夏,时任总参谋长杨得志和国防部长张爱萍,率领总部工作组到北海舰队检查工作。8月的青岛,海上凉风习习,海风夹杂着海腥味,老将们在舰上拍下了这张珍贵的合影。他们都有谁呢?图85G发展遭遇拦路虎?人民日报无奈发声,三大运营商该反思了长期以来,国内通信网络由中国移动中国联通中国电信三大运营商主导。一方面,这三家企业都是国企另一方面,它们是为了统一的方便。随着信息技术的发展,移动网络已经从最初的1G发展到现在的5又一对!国乒名将被求婚,男友单膝下跪,人民日报一直爱下去北京时间5月21日消息,在刚刚结束的520这一天,中国体坛诞生了多对新人,而且多位名将晒出恩爱。我们恭喜冬奥冠军徐梦桃与队友王心迪领证结婚,2人步入婚姻殿堂!即将32岁的徐梦桃,22022。5。20华晨宇身高?讲讲蒋欣?周深这么多综艺?可以说说张远?宋雨琦账号?人民日报发文?能说说吴谨言?7娱乐爆姐我们是一个严肃的乱侃号所有的一切都是胡说八道不可当真饭后聊资而已,随便看看就好2022。5。20苗苗和她妹妹还有妈妈住在一起吗?那郑恺也和她们住一起?想问问刘敏涛私下?想她对他缠绵不是来源于情他不能趁人之危,他只能罕有做了次柳下惠第六十七章玫瑰酒店夜晚,同事小陈邀请鱼诗柔与其他同事共同会餐,会餐期间鱼诗柔招架不住同事们的热情和欢呼,有些不甚酒力,却多喝了少许。小陈目色担忧的扶着鱼诗柔鱼经理,要不我送您回去吧人民日报钟声美国只会欠下越来越多的人权债高通胀给美国民众带来的非对称影响,是美国社会长期以来富者愈富穷者愈穷的真实写照。美式民主的异化已成为美国底层民众享有和实现人权的严重障碍美国劳工部公布的数据显示,今年3月美国消费者官宣!国际奥委会苏炳添获奥运铜牌,人民日报祝贺中国队北京时间5月20日,国际奥委会官方宣布,由苏炳添谢震业吴智强和汤星强组成的中国男子4100米接力队递补获得东京奥运会铜牌!这是一枚迟到的铜牌,也是苏炳添梦寐以求的一枚奥运奖牌。在东杨姓的来源何谓姓?姓在母系社会就已经出现,是以母系为血统而组成的血亲团体,也是对外交往中表明自己身份的徽记。何为氏?氏是由姓中繁衍生出来的分支,是旧时特权和地位的标志。杨姓是中华民族大姓之一人民日报为什么要多读书?这是我听过最好的答案经常有人问读了那么多书,最终还不是要回到一座平凡的城,打一份平凡的工,组建一个平凡的家庭,何苦折腾?一个人读书的意义,究竟是什么?今天,给大家分享人民日报推荐的8条理由,告诉你人为
什么是生酮饮食?生酮饮食是一种食物策略,在这种策略中,您可以大幅减少碳水化合物的摄入量并用脂肪代替它,以使新陈代谢达到称为酮症的状态。生酮饮食是将你的身体脂肪转化为燃料来燃烧能量。那么首选的燃料是保温杯里加两宝,疏肝理气,活血化瘀,让你气血通畅,一身轻松近日,70多岁的李大爷身体出现了异样,早上醒来总是感觉头疼脑胀,心慌气短,腹部还有不适的感觉。李大爷自己觉得这些不是正常的老年人的身体反应,于是便来到了一家医院就诊。通过医生的问诊顽痰肾虚痰多脾虚浓痰肝郁,中医教你健脾补肾,疏肝化痰不知道你有没有听过一句话顽痰肾虚痰多脾虚浓痰肝郁,这到底是什么意思呢?请往下看!1顽痰肾虚这类人的痰非常难化,就像胶水一样黏在喉咙上,咳不出去,也咽不下去,很多人认为这是脾虚的问题春季宜疏肝养阳,送你两味药,疏肝解郁,补气升阳,让你浑身舒畅大家好,我是胡医生。今天胡医生想给大家分享一个比较适合在春天疏肝养阳的小妙方,可以疏肝解郁,补气升阳。毕竟春天的到来,万物都开始生长,而在春天我们需要做两件事,一个是疏肝,另一个则轩辕故里甘肃清水深挖中医潜能打造全域生态康养胜地甘肃省天水市清水县境内的养心园农耕文化产业旅游专业合作社内,女工包装艾条。(资料图)杨兆康摄中新网兰州3月24日电(崔琳)走进甘肃省天水市清水县境内的养心园农耕文化产业旅游专业合作轩辕故里甘肃清水深挖中医潜能打造全域生态康养胜地甘肃省天水市清水县境内的养心园农耕文化产业旅游专业合作社内,女工包装艾条。(资料图)杨兆康摄走进甘肃省天水市清水县境内的养心园农耕文化产业旅游专业合作社,浓浓的草药香扑鼻而来。在该54岁烧烤摊主李先生突然中风,老中医叮嘱平时要多吃这6种食物说一下最近发生在我身边的一件事,小区楼下一个烧烤店的老板在做烤串时突然倒地,家人打120紧急送往医院,经过CT检查被确认为是中风,由于做烧烤长期熬夜,过度劳累,饮食也不规律,每天吃一季度全国GDP二十强城市预测广州第4,宁波领先天津,西安第19随着全国高质量发展的不断推进,各地的经济发展水平也在不断地提高,2023年一季度的GDP也即将公布。伴随着去年各城市经济发展的不断缓慢,今年一季度很多城市的GDP将迎来一个新的改变ChatGPT房价会下降吗?房价下降的前提条件是什么?房价下降的前提条件有很多,其中一些可能包括经济下滑如果经济处于衰退或不景气状态,人们的购买力会下降,房地产市场需求也会下降,从而可能导致房价下降。房屋供应蔡皇复刻出一个诺安成长?诺安积极回报年内收益率高达47记者杜萌曾经以重仓半导体一战成名的蔡嵩松正在复制诺安成长的业绩奇迹。Wind数据显示,蔡嵩松2022年8月20日接任的诺安积极回报,今年以来收益率高达47。14,在全市场的主动权益城市24小时人均GDP吊打京沪,四线小城凭什么每经记者刘艳美每经编辑杨欢图片来源鄂尔多斯融媒近日,鄂尔多斯市统计局发布信息称,2022年,鄂尔多斯人均地区生产总值突破25万元。2022年,鄂尔多斯市地区生产总值5613。44亿
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网