猜猜几种c#字符串连接所消耗时间的先后?
2011-09-02 11:33
197 查看
猜猜几种c#字符串连接所消耗时间的先后?1. 字符串字面值直接连加
test = "I1" + "I2" + "I3" + "I4" + "I5";2.字符串字面值用+=相加
test = "I6"; test += "I7"; test += "I8"; test += "I9"; test += "I10";3.sn为字符串变量
test = s1 + s2 + s3 + s4 + s5;4.
test = s1; test += s2; test += s3; test += s4; test += s5;5.csn为字符串常量
test = cs1 + cs2 + cs3 + cs4 + cs5;6.
test = cs1; test += cs2; test += cs3; test += cs4; test += cs5;以上6种方式各循环10000000次,你能猜出他们执行所需时间的的顺序吗? 如果你是c++程序员,我觉得对于这个问题你可能会不占优势,你可能想到临时变量之类的吧.看测试代码:
const int Num = 10000000;int end;string test = "";int start = Environment.TickCount;for (int i = 0; i < Num; i++){test = "I1" + "I2" + "I3" + "I4" + "I5";}end = Environment.TickCount;Console.WriteLine("字符串字面值:" + (end - start));start = Environment.TickCount;for (int i = 0; i < Num; i++){test = "I6";test += "I7";test += "I8";test += "I9";test += "I10";}end = Environment.TickCount;Console.WriteLine("字符串字面值:" + (end - start));string s1 = "e1";string s2 = "e2";string s3 = "e3";string s4 = "e4";string s5 = "e5";start = Environment.TickCount;for (int i = 0; i < Num; i++){test = s1 + s2 + s3 + s4 + s5;}end = Environment.TickCount;Console.WriteLine("变量:" + (end - start));s1 = "h1";s2 = "h2";s3 = "h3";s4 = "h4";s5 = "h5";start = Environment.TickCount;for (int i = 0; i < Num; i++){test = s1;test += s2;test += s3;test += s4;test += s5;}end = Environment.TickCount;Console.WriteLine("变量:" + (end - start));const string cs1 = "H1";const string cs2 = "H2";const string cs3 = "H3";const string cs4 = "H4";const string cs5 = "H5";start = Environment.TickCount;for (int i = 0; i < Num; i++){test = cs1 + cs2 + cs3 + cs4 + cs5;}end = Environment.TickCount;Console.WriteLine("字符串常量 :" + (end - start));start = Environment.TickCount;for (int i = 0; i < Num; i++){test = cs1;test += cs2;test += cs3;test += cs4;test += cs5;}end = Environment.TickCount;Console.WriteLine("字符串常量:" + (end - start));你答对了吗?上答案啦!
相关文章推荐
- c#中数据库字符串的连接几种方式
- C#字符串连接消耗
- c#中数据库字符串的连接几种方式
- C#连接远程oracle字符串,返回操作时间代码
- C#_将时间转换成字符串的几种方法
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- C#之连接数据库字符串大全
- C# 配置文件,获取连接数据库字符串
- C# 日期和时间的字符串表示形式转换为其等效的DateTime(stringToDateTime)
- C# 连接 Oracle 的几种方式
- 连接字符串的几种方式
- C#中使用split分割字符串的几种方法
- C#连接SQLite的字符串
- c#中分割字符串的几种方法
- C# 连接SQL 连接字符串
- C#.NET下连接DB2数据库的连接字符串
- 简单总结Python中几种字符串连接的方法
- C#删除字符串最后一个字符的几种方法
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法