これはちょっと「臭い」かもしれないが、それはあなたがしているとき、配列を変更しようとするよりはましです反復。
考えられるのは、単語が表示されているすべてのインデックスを保存してから、それらの単語を消去することです。これは最善の解決策ではありませんが、問題の解決に役立ちます。私は非常にそこにC#の上で素晴らしいですし、それが使用アレイ、あなたの配列が重複した単語を許可する場合も重複した単語が許可されていない場合にフィット
K="{"book","car"};
//Never use a number, try to use the .length propertie
List<int> indexes=new List<int>();//using lists is easier than arrays
enter code here
for (i = 0; i < K.length; i++)
{
if (keywords.Contains(K[i]))
{
//You save the index where the word is
indexes.add(i);
}
}
//Here you take those indexes and create a new Array
int[] theNewArray=new int[K.length-indexes.Count];
int positionInTheNewArray=0;
for (i = 0; i < K.length; i++)
{
if(!indexes.Contains(i))
{ theNewArray[positionInTheNewArray]=K[i];
positionInTheNewArray++;
}
}
}
よりも、それらを使用する方が簡単ですので、あなたが「リスト」について読むことをお勧めします。
[通常の配列の要素を削除]可能な複製(http://stackoverflow.com/questions/457453/remove-element-of-a-regular-array) –
可能な複製http://stackoverflow.com/q/8032394/3279496 – nelek
データを操作する場合は、リストまたは他の構造を使用します。 –