现在的位置: 首页 > 综合 > 正文

[LadyGaGa]竟然遇到了错误的笔试题

2012年11月12日 ⁄ 综合 ⁄ 共 614字 ⁄ 字号 评论关闭

 

有个题目:将字符串str1从字符串str2中完全删除,用C#实现

我问了是不是用代码实现,得到的反馈是,我的答案很简单:

 

if(String.IsEmptyOrNull(str1)) return;

if(String.IsEmptyOrNull(str2)) return;

str2=str2.Replace(str1,String.Empty);

对方问我这种方法能否把所有的字串给replace掉,我当时小懵了一下。因为我不确定replace是全部还是遇到第一个匹配的就replace后就返回。

我就回答,可以用递归。

于是让我用递归来做:

public void Replace(ref string str1, ref string str2)
{
  

if(String.IsEmptyOrNull(str1)) return;

if(String.IsEmptyOrNull(str2)) return;

if(str2.IndexOf(str1)==-1) return;
else str2=str2.Replace(str1,String.Empty);

Replace(ref str1,ref str2);
}

各位看官估计能够看出,这个办法是可行的。

 

但是结果是,我试了我第一个方法,也是可能的。

 

到现在我就明白了,他们是想让人实现String的Replace原理,结果却出错了。其实简单,题目要求里禁止用自带的方法或者实现string的replace代码。

抱歉!评论已关闭.