私は次の質問があります。私が持っている場合は、次のCharArray例えば:{!(!!& & A)(!& & A)} '!' ここでの問題は、私はすべて削除したいということですそれは 'A'の隣にあり、 '!'最初のCharArrayでそれを持たない 'A'に移動します。だから、問題の最終的な結果がする必要があります。 私は削除するためにこれを使用しようとしたC#でCharArrayの要素を削除して追加する方法は?
{(& & A!)(& & A)!} 'を!': //レグラは含まれていた文字列は{!(!& & A)(!& &!A)}
`char[] array = Regla.ToCharArray();
for (int i = 0; i < array.Length; i++)
{
char c = array[i];
if (c == idL1 && array[i - 1] == '!')
{
if (cont1 == 0 && cont2 == 0)
{
var tRegla = new StringBuilder(Regla);
tRegla.Remove(i - 1, 1);
Regla = tRegla.ToString();
cont1++;
}
if (cont1 == 1 && cont2 == 1)
{
var tRegla = new StringBuilder(Regla);
tRegla.Remove(i - 2, 1);
Regla = tRegla.ToString();
cont1++;
}
if (cont1 == 2 && cont2 == 2)
{
var tRegla = new StringBuilder(Regla);
tRegla.Remove(i - 3, 1);
Regla = tRegla.ToString();
cont1++;
}
if (cont1 == 3 && cont2 == 3)
{
var tRegla = new StringBuilder(Regla);
tRegla.Remove(i - 4, 1);
Regla = tRegla.ToString();
cont1++;
}
cont2++;
}`
しかし、現時点では
を追加するには、 'を!'私はそれを解決するためのより良い方法があると思い`var tRegla = new StringBuilder(Regla);
tRegla.Insert(i - 1, "!");
Regla = tRegla.ToString();
cont1++;}`
:カウンタが「i」は、変更をして、私は同じようsompethingを使用するので、私は、問題がたくさんあります。ありがとうございました。
配列の代わりに、リストを使用してください。その後、すべてを継続的に再構築することなく、挿入または削除を行うことができます。 –
forループは使用しないで、インデックスを自分自身でインクリメントするwhileループを使用してください。あなたは '! 'を挿入または削除した後にインデックスを調整することができます。 –