A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© FrancisTan 中级黑马   /  2014-7-7 10:04  /  1282 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 FrancisTan 于 2014-7-9 08:03 编辑

.net类库为我们提供了很多强大的工具,使我们在开发的过程中能如鱼得水。
其中string类是运用最为广泛的类型之一,string类型中有很多的方法,
它囊括了在开发过程中对字符串进行处理的几乎所有的需求,
所以学好用好string类型是以后学习工作必不可少的一环。

string类型中那么多的方法,应该怎么来学习各掌握呢?
在这里我个人有个小小的建议:
在力所能及的情况下,尽量将自己经常用到的string类型中的方法,
用自己的方式去实现它,然后和.net中的方法实现做一个对比(源代码是可以找到的),
这样你对这个方法的运用就会知根知底了,乃至于运用这个方法需要注意的地方,
运行过程中容易发生的错误,你也会了然于心。

在开始接触string类型的时候我就把下定决心要把它学好,一些常用的方法
更是想完全掌握,并得心应手地将它运用出来。但是,过了一段时间发现,
虽然这个方法我用了很多次,但是每次都只是按照它的参数,机械地进行传递,
然后得到一个返回值进行处理。换句话说,我掌握了这个方法它的外部运用模式,
但同时我也想要了解它的内部原理,于是我想到了自己去实现它。

小弟初学c#,技术有限,下面是一个我自己的简单的字符串连接方法的实
现(string类型在连接字符串的时候会进行优化,这里我不讨论这个,我只是
为了举个简单的例子):

  1. public static string contact(string s1, string s2)
  2. {
  3. //将s1,s2中的字符依次放进一个字符数组中
  4. char[] temp = new char[s1.Length + s2.Length];

  5. for (int i = 0; i < s1.Length; i++)
  6. temp[i] = s1[i];

  7. for (int i = 0; i < s2.Length; i++)
  8. temp[i + s1.Length] = s2[i]; //这里i+s1.Length是让下标从s1的最后一个字符后开始

  9. //新声明一个string变量做为连接好的字符串并返回
  10. string result = new string(temp);
  11. return result;

  12. }
复制代码


上述方法只是我自己的一个思路,可能效率不高,但是这里讨论的是一个学习方法,
如果有更好的实现方法还请各位多多指教!


4 个回复

倒序浏览
简单用+号,复杂用StringBuilder
回复 使用道具 举报
向晓伟 发表于 2014-7-7 11:13
简单用+号,复杂用StringBuilder

蒽蒽,知道了!对了向晓伟同学,你的技术分怎么挣的呀,好难!
回复 使用道具 举报
你没必要为了技术分一直水贴好吧!
回复 使用道具 举报
FrancisTan 发表于 2014-7-7 12:56
蒽蒽,知道了!对了向晓伟同学,你的技术分怎么挣的呀,好难!

多发些提问或回答的贴子,这样,版主会相应的给你加分的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马