在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开发中可以说几乎随时会涉及到字符串处理,本人觉得很有必要把平时遇到的问题和大家一起讨论,如果大家有好的见解和心得请留言和大家分享。 1.Convert.ToInt32与Int32.Parse的恩恩怨怨 1.Convert.ToInt32与Int32.Parse的恩恩怨怨 这2个方法都可以把把string解析为int,那么我们一定会有疑问:到底他们有什么区别?什么时候该用什么?性能如何等等。 其实在2.0里还有Int32.TryParse也实现了同样的效果。
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 }
表面上看,可见3个方法都实现了同样的效果! 那么我们把代码改一下: //string myString = "1234"; myint = Convert.ToInt32(myString); myint = Int32.Parse(myString); Int32.TryParse(myString, out myint); 这是因为如果解析错误: 由于Convert.ToInt32()在null时我们看不到Int32.TryParse()的运行结果所以再分调试和不调试来看结果的差异: 不调试: 其实一般出bug毕竟属于少数,而且大家都会测试保证不出bug,那么我们最关心的或许就是性能。 再把代码修改一下:
string myString1 = "1234"; //string myString = null;//清清月儿 http://blog.csdn.net/21aspnet/ int myint = 0; Console.Write(System.DateTime.Now.ToString()+" "+System.DateTime.Now.Millisecond.ToString() + " "); for (int i = 0; i < 1000000;i++ )
我们让3个方法执行100万次转换看毫秒的差异: 为了准确多做几次测试: 第三次
其实我们可以得出结论: 那么为什么会这样呢? 至于其他进制的转换请参考MSDN。重载参数即可! 2.Split的3种用法 我们可以把12 33 456 12342 拼起来就是一个字符,因为很多时候我们觉得处理只有几个组的时候用数组很麻烦所以我们用“|”或者“,”等等把他们拼起来在需要的时候用Split打散即可。//清清月儿 http://blog.csdn.net/21aspnet/ 下面列举一些用法,不做性能分析了。
static void Main(string[] args) } 方法二:
string aa = "1234,234523,4324,324"; string[] str = aa.Split(','); foreach (string bb in str) }
方法三:
static void Main(string[] args) } 实现把文章按空格打散:
public static void Main () } 3.@"abc"和"abc"区别在那里 不过@是忽略转义字符的! 比如你想将 C:\windows\system 这个字符串赋值给 str 一般情况下要: 因为在C#中,\\ 才会被转义成一个 \ 而加入@,就可以这样: string str = @"C:\windows\system"; 4.保留2位有效小数及四舍五入 保留2位有效小数(和保留N位一样的参数不同而已):
static void Main() }
static void Main() } 5.url传递中文的解决方案 3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。 一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。 //清清月儿http://blog.csdn.net/21aspnet/ 6.把123456789转换为12-345-6789的3种方法
string a = "123456789"; a = int.Parse(a).ToString("##-###-####"); Console.Write(a);
方法二:
string a = "123456789"; a = a.Insert(5, "-").Insert(2, "-"); Console.Write(a); 方法三:
using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication1 } 7.交换两个指定位置字符的4种方法
static void Main() }
方法二:
static void Main() } 方法三:
static void Main()
方法四:
using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace ConsoleApplication1 }
8. “%10”的妙用
static void Main() }
9.输出21个AAAAAAAAAAAAAAAAAAAAA的巧妙做法 new构造器的理解 |
请发表评论