これは本からのコードです - 第2版「露出プログラミングインタビュー」 - ページ78 - 指定した文字の練習を取り外します(以下に続く)コード運動は
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,0,dst);
Console.WriteLine(str);
}
私がしようとした場合これを実行するには、18行目のためにIndexOutOfRangeException: Index was outside the bounds of the array.
が得られます。著者は26行目と同じ種類のことをしようとしています。ポイントは、削除される文字を識別する検索配列を作成することです。私はこれの作業バージョンがありますが、ネストされた配列インデックスは使用しませんでした。
これが機能する方法はありますか?ネストされた配列がどのように動作するかはわかりません。
あなたはそれを釘付けにしました。このエラーをWroxに報告します。 – VariableLost
@brock:この回答に同意する必要があります –