색인을 몰라도 4의 모든 인스턴스를 제거하려면 다음을 수행하십시오.
LINQ : (.NET Framework 3.5)
int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;
numbers = numbers.Where(val => val != numToRemove).ToArray();
비 LINQ : (.NET Framework 2.0)
static bool isNotFour(int n)
{
return n != 4;
}
int[] numbers = { 1, 3, 4, 9, 2 };
numbers = Array.FindAll(numbers, isNotFour).ToArray();
첫 번째 인스턴스 만 제거하려면 다음을 수행하십시오.
LINQ : (.NET Framework 3.5)
int[] numbers = { 1, 3, 4, 9, 2, 4 };
int numToRemove = 4;
int numIndex = Array.IndexOf(numbers, numToRemove);
numbers = numbers.Where((val, idx) => idx != numIndex).ToArray();
비 LINQ : (.NET Framework 2.0)
int[] numbers = { 1, 3, 4, 9, 2, 4 };
int numToRemove = 4;
int numIdx = Array.IndexOf(numbers, numToRemove);
List<int> tmp = new List<int>(numbers);
tmp.RemoveAt(numIdx);
numbers = tmp.ToArray();
편집 : Malfist가 지적한 것처럼 아직 파악하지 못한 경우 LINQ 코드 예제가 작동하려면 .NET Framework 3.5를 대상으로 지정해야합니다. 2.0을 대상으로하는 경우 비 LINQ 예제를 참조해야합니다.