范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

C为什么要用StartsWith而不是Substring进行字符串匹配?

  字符串的截取匹配操作在开发中非常常见,比如下面这个示例:我要匹配查找出来字符串数组中以"abc"开头的字符串并打印,我下面分别用了两种方式实现,代码如下:
  using System;
  namespace ConsoleApp23{ class Program { static void Main(string[] args) { string[] strs = new string[] { "abc123" , "abc456" ,"ab123","a12345" };
   //方法1 foreach (var str in strs) { if (str.Substring(0, 3) == "abc") { Console.WriteLine(str); } } Console.WriteLine();
   //方法2  foreach (var str in strs) { if (str.StartsWith("abc")) { Console.WriteLine(str); } }
   Console.ReadKey(); } }}
  
  运行结果如下:
  诚然,两种方法都输出了正确的结果。
  那么既然,两种方式都能实现,这两种方法有没有什么区别呢?当然有的,而且大多数时候,一个老练的程序员都会用StartsWith而不是Substring,为什么呢?
  往下看,我把数据源修改下:
   static void Main(string[] args) { string[] strs = new string[] { "abc123" , "abc456" ,"ab123","a12345" ,"abc","ab"};
   //方法1 foreach (var str in strs) { if (str.Substring(0, 3) == "abc") { Console.WriteLine(str); } } Console.WriteLine();
   //方法2  foreach (var str in strs) { if (str.StartsWith("abc")) { Console.WriteLine(str); } }
   Console.ReadKey(); }
  运行后,方法一直接崩了,但是方法2则可以正确运行出来结果
  看一下Substring的用法解释:startIndex 加 length 指示不在此实例内的位置。- 或 - startIndex 或 length 小于零。,所以当字符串小于你要截取的长度时,你如果没用try catch去捕获异常,代码就崩溃了.
   // // 摘要: // 从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。 // // 参数: // startIndex: // 此实例中子字符串的起始字符位置(从零开始)。 // // length: // 子字符串中的字符数。 // // 返回结果: // 与此实例中在 length 处开头、长度为 startIndex 的子字符串等效的一个字符串;如果 System.String.Empty 等于此实例的长度且 // startIndex 为零,则为 length。 // // 异常: // T:System.ArgumentOutOfRangeException: // startIndex 加 length 指示不在此实例内的位置。- 或 - startIndex 或 length 小于零。 [SecuritySafeCritical] public String Substring(int startIndex, int length);
  所以,我们需要慎用Substring,如果非要用,一定需要进行异常处理。

国风新材全资子公司拟2。16亿投建新能源汽车模块化生产智能制造项目中证网讯(王珞)国风新材3月1日晚公告,公司全资子公司芜湖国风拟自筹资金2。16亿元投资建设新能源汽车模块化生产智能制造项目,项目实施周期2。5年项目投资财务内部收益率12。01(新疆21家单位7种产品上榜2022年度绿色制造名单天山网讯(记者马伊宁报道)近日,工业和信息化部公布2022年度绿色制造名单,新疆21家单位和7种产品上榜,其中20家企业入选绿色工厂,7种产品入选绿色设计产品,1家工业园区入选绿色2023银行理财风向何方固收类产品收益或扭转,稳健类产品优势突出去年是资管新规正式施行的第一年,银行理财进入净值化新时代,在打破刚性兑付促进其回归资产管理本源的同时,新的挑战也同时出现,破净和赎回事件成为了新常态。去年3月,受美联储加息政策开启中国品牌靠实力出圈图为去年宇通卡塔尔电动车批量发车仪式。新华社记者李嘉南摄卡塔尔世界杯顺利落下帷幕,海信蒙牛vivo等人们耳熟能详的中国品牌闪耀在世界足球赛事的舞台,成为中国企业走向世界的最好见证。美国动手了,用中国海外资产施压,要求不得收台,箭已经在弦上据环球网报道,在2月的最后一天,美国众议院一口气通过八项法案,全部涉及台海局势。值得注意的是,八项法案都是高票通过,可以看出美国政界已经达成一致,全力阻扰中国大陆实现两岸统一。在这孕妈上怀和下怀,到底有啥差别?其实没那么简单,别忽视了前几天,妈妈群里有小伙伴提了这样的问题我家老大是个男孩,本来没打算要二胎。但后来意外怀上了,家里所有人都劝我既然来了就是缘分。我也舍得不打掉,所以就留了下来。不过出于儿女双全的心理南怀瑾想要减肥,教你们三种方法,自然而然!现代社会,随着物质条件越来越好,人们的身体普遍都变得肥胖。成年人肥胖,小孩子长得又高又壮,提前发育,看起来似乎身体好,父母感到欣慰,实际上都不是什么好现象。归根结底,都是吃出来的祸我天生苗条这是我在旅行时保持肌肉的方法现在,我想多聊聊在旅行中保持肌肉。有一些方法可以保持80或更多的肌肉,但如果你不吃东西并且经常运动,你可能会减肥正如我所经历的那样。我允许自己有空间在旅行时不吃饭,少吃东西。然而,董洁才是真正的穿搭高手,衣服看似简单,穿上身满满高级感!董洁才是真正的穿搭高手,衣服看似简单,穿上身满满高级感!穿衣搭配可以说是我们提升气质很重要的一部分,对于大多数人来说,衣服穿搭不需要太浮夸,简约低调的方式最适合日常。但是这样的衣服不远万里打开生命通道与时间赛跑,为生命接力,中国救援力量赴土耳其救灾纪实上图中国救援队队员在土耳其哈塔伊省安塔基亚市一处地震废墟开展救援工作。新华社记者沙达提摄下图在土耳其哈塔伊省安塔基亚市,中土两国救援队队员转移一名救出的幸存者。穆斯塔法卡亚摄(新华愤怒的香蕉先修炼好内功!再谈经典化IP改编和海外传播2022年,一部网络小说改编的古装剧赘婿走红圈内,其原著小说最终还被收录进了大英图书馆,这部小说的作者是知名网络作家愤怒的香蕉。3月2日,在参加于长沙举办的网络文学高质量发展论坛时
奋斗一生临近五十,工厂破产,负债累累。以前的员工出人头地,请你去做事,该接受吗?可以答应,五十已知天命,风水轮流转,自己失败有主观和客观因素。你发现自己工厂的劣势时,设法提高技术水平,研发相关新产品,合理完善经营机制,淘汰低产能配置,以达降低成夲,轻松应对市场职工在岗期间找单位领导反映问题,领导说他下班了,下班不谈公事,请问这样领导称职吗?如果是外企,按照工作规定,上司原则上休息期间不谈公事,员工也不会在下班期间找上司。比如,我们与英国的合资公司,外方高管休年假,把工作手机和邮箱一交,就可以安心度假了,米国总统都可以如果你想对一个人表白,只能用一首歌,你会选哪首?回答了爱是专一的,我会用一首我的眼里只有你。表白一下一如果你想对一个人表白那就是你对一个人的爱意,是你一生最为重要的表白,也是你一生中最重要的选择,关系到你一生的幸福,还有一个家庭车前草怎么吃?车前草怎么吃?车前草可以与其他食材一起做粥食用。车前草与葱白淡豆豉粳米等其他食材一起做粥,可以用于暑湿泄泻,小便短少。1。组成鲜车前草30g,葱白15g,淡豆豉12g,粳米50g,煎鱼不粘,烧鱼不碎的秘诀是什么?煎鱼粘锅这是很让人苦恼的,不仅影响了鱼的外观,锅还难洗干净。如何避免呢?其实很简单,有几个方法都可以让鱼不粘锅。亲测有效,因为我家人喜欢吃鱼,可以说每天都有烧鱼,变着花样做,红烧干3万到10万左右的旅行摩托车有哪些推荐?更多摩托车精彩内容请认准阿牛单车欢迎关注点击查看。3万10万,这个跨度还是比较大了,从国产到进口大贸,从春风贝纳利到宝马本田川崎,都有得选择,小编就列举其中几款1。春风650TRG天柱山下的俄罗斯村是怎么来的,为什么有这么多的俄罗斯人愿意到天柱山去?没有去过,略有所闻,听说在安徽安庆市潜山县天柱山脚下有个俄罗斯村,住着不少俄罗斯来的客人,长年累月住着,修身养性,效果还真不错,据说此处风景很美,山绿水清,空气新鲜,含氧量大,因为为什么活人溺水会沉入水底,死人会浮上去呢?把不同的物体投进水中有的会上浮,有的会下沉。物体是上浮还是下沉由其密度决定,由阿基米德原理可知,沉于水的物体密度大于水的密度,如果物体的密度小于水的密度,物体就会上浮。夏季到来了,如何确定西安的房子产权性质?常见的房屋产权性质有以下九种1房改房即已购公有住房的改变,指的是城镇职工根据国家和地方政府,依据城镇住房制度改革政策规定,按照地产开发企业开发建设并出售出租的房屋。2安居工程住房指国足换了新主帅,足球就能踢好么?能!能力李铁零分小鹏兄可二分,问题是后面四场球全部拿下还有多大意义?赢球之后他们金钱还怎么拿怎么分?还是那句话如果没有李铁这小子瞎搅局,就凭这一届优秀球员的组合,这次卡塔尔世界杯肯中国古代的糖很贵吗?既不贵,也贵。中国不贵,欧洲很贵。古代糖来源大致有以下两种,一种是由于技术不成熟等原因没办法制糖,只能通过蜂蜜果实或者其他甜类食物过过嘴瘾。另一种是通过蜂蜜甘蔗飴等制糖。我们对糖价