黑马程序员技术交流社区

标题: 黑马程序员_谭光洪_string类型的学习 [打印本页]

作者: FrancisTan    时间: 2014-7-7 10:04
标题: 黑马程序员_谭光洪_string类型的学习
本帖最后由 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. }
复制代码


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



作者: 向晓伟    时间: 2014-7-7 11:13
简单用+号,复杂用StringBuilder
作者: FrancisTan    时间: 2014-7-7 12:56
向晓伟 发表于 2014-7-7 11:13
简单用+号,复杂用StringBuilder

蒽蒽,知道了!对了向晓伟同学,你的技术分怎么挣的呀,好难!
作者: The_Enternal    时间: 2014-7-7 13:21
你没必要为了技术分一直水贴好吧!
作者: SunshineGirl    时间: 2014-7-9 11:26
FrancisTan 发表于 2014-7-7 12:56
蒽蒽,知道了!对了向晓伟同学,你的技术分怎么挣的呀,好难!

多发些提问或回答的贴子,这样,版主会相应的给你加分的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2