c# – “编程访谈曝光”中的代码练习

c# – “编程访谈曝光”中的代码练习,第1张

概述这是本书中的代码 – “编程访谈曝光”第2版 – 第78页& 79 – 删除指定的字符练习(续下) void Main(){ string se = "I_am_the_string_to_modify"; string re = "amthe"; Console.WriteLine(se); Console.WriteLine(re); char[] 这是本书中的代码 – “编程访谈曝光”第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# – “编程访谈曝光”中的代码练习所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存