Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12876300
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2014-04-18 17:24:24

代码片段:


  1. static void Main(string[] args)
  2. {
  3.     splitString("101=1");
  4.     int baseValue = 4;
  5.     int baseValue1 = 4;
  6.     baseValue = baseValue - Convert.ToInt32("-1");
  7.     baseValue1 = baseValue1 + Convert.ToInt32("1");
  8.     Console.WriteLine("{0} {1}", baseValue, baseValue1);
  9.     Console.ReadLine();
  10. }
  11.  
  12. ///
  13. /// 以=号分割像 101=1这样的字符串
  14. ///
  15. static void splitString(string srcStr)
  16. {
  17.     string str = string.Empty;
  18.     str = srcStr;
  19.     string[] resultList = str.Split('=');
  20.     Console.WriteLine("elem 0 = {0}", resultList[0]);
  21.     Console.WriteLine("elem 1 = {0}", resultList[1]);
  22.     Console.WriteLine();
  23. }


    上面的分割函数,正常情况下这样使用是没有任务问题的。但由于srcStr是一个外面传入的值,如果其不是典型的101=1类型的字符串,这里必须容易引发数据越界。

    故常常需要作如下防错操作:


  1. static void splitString(string srcStr)
  2. {
  3.     string str = string.Empty;
  4.     str = srcStr;
  5.     string[] resultList = str.Split('=');
  6.     if (resultList.Length >= 0)
  7.     {
  8.         Console.WriteLine("elem 0 = {0}", resultList[0]);
  9.         Console.WriteLine("elem 1 = {0}", resultList[1]);
  10.     }
  11.     Console.WriteLine();
  12. }



当然,上述代码不采用resultList[0]这样固定索引的方式而采用索引自减的方式,则会更安全,如resultList[i];
image


 

    PS,另外注意 4-Convert.toIn32(-1)=5; 这个语句极有深意

阅读(3656) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

xsbkghio2014-04-22 15:57:51

"好了,别打了...www.blthbyz.com住手!"陆伟不愧当了多年的村支书,威严的制止了暴怒的村民,身上散发出上位者的气势。可不能再打了,再打就要出人命了......"好惨哦......"陆小倩看着躺在地上鼻青脸肿,不停惨叫的偷牛贼,那模样真是惨不忍睹!