Nếu bạn muốn xóa tất cả các phiên bản 4 mà không cần biết chỉ mục:
LINQ: (.NET Framework 3.5)
int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;
numbers = numbers.Where(val => val != numToRemove).ToArray();
Không 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();
Nếu bạn muốn xóa chỉ trường hợp đầu tiên:
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();
Không 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();
Chỉnh sửa: Chỉ trong trường hợp bạn chưa tìm ra, như Malfist đã chỉ ra, bạn cần phải nhắm mục tiêu .NET Framework 3.5 để các ví dụ mã LINQ hoạt động. Nếu bạn đang nhắm mục tiêu 2.0, bạn cần tham khảo các ví dụ Non-LINQ.