我有下一個問題。如果我有,例如,未來CharArray:{!(!一& & A)(!一個& & A)} '!' 這裏的問題是,我想刪除所有那就是'A'旁邊並添加'!'到在最初的CharArray中沒有它的'A'。所以,這個問題的最終結果必須是: 如何在C#中的CharArray中刪除和添加元素?
我試圖用它來刪除{(A & &!A)(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++;
}`
但此刻添加一個 '!'我有很多的問題,因爲反「我」發生變化,我用sompething這樣的:
`var tRegla = new StringBuilder(Regla);
tRegla.Insert(i - 1, "!");
Regla = tRegla.ToString();
cont1++;}`
我認爲這是一個更好的辦法來解決這個問題。謝謝。
代替數組,可以使用'List'。然後,您可以插入或刪除,而無需連續重建所有內容。 –
不要使用for循環,而是使用while循環來自己增加索引。這樣你就可以在插入或刪除'!'後調整索引。 –