C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – “编程访谈曝光”中的代码练习大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是本书中的代码 – “编程访谈曝光”第2版 – 第78页& 79
删除指定的字符练习(续下)

void Main()
{
    String se = "I_am_the_String_to_modify";
    String re = "amthe";

    Console.WriteLine(sE);
    Console.WriteLine(rE);

    char[] s=se.tocharArray();
    char[] r=re.tocharArray();
    bool[] flags=new bool[128];

    int len=s.Length;
    int src,dst;

    for(src=0;src<len;++srC)
    {
        Console.Write(r[src]+",");
        flags[r[src]]=true;
    }

    src=0;
    dst=0;

    while(src<len)
    {
        if(!flags[(int)s[src]])
        {
            s[dst++]=s[src];
        }
        ++src;
    }
    String str=new String(s,dst);
    Console.WriteLine(str);
}

如果我尝试运行它,我得到IndexOutOfRangeException:索引超出了数组的范围.由于第18行.作者试图在第26行做同样的事情.

关键是要创建一个查找数组,用于标识要删除的字符.我有一个工作版本,但我没有使用嵌套数组索引.

有没有办法让它起作用?我没有看到嵌套数组是如何工作的.

解决方法

你的问题是你索引到r(一个5元素数组)但是循环到s.Length(25).

将第12行更改为int len = r.Length;和第20行到len = s.Length;.

大佬总结

以上是大佬教程为你收集整理的c# – “编程访谈曝光”中的代码练习全部内容,希望文章能够帮你解决c# – “编程访谈曝光”中的代码练习所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。