SORU
30 Ocak 2009, Cuma


C bir dizi öğe silmek için nasıl#

Bu dizi var diyelim,

int[] numbers = {1, 3, 4, 9, 2};

Nasıl bir öğe silmek gelebilir miyim ""? adı , diyelim ki 4 numara?

Hatta ArrayList silmek için yardım etmedin?

string strNumbers = " 1, 3, 4, 9, 2";
ArrayList numbers = new ArrayList(strNumbers.Split(new char[] { ',' }));
numbers.RemoveAt(numbers.IndexOf(4));
foreach (var n in numbers)
{
    Response.Write(n);
}

CEVAP
30 Ocak 2009, Cuma


Eğer endeks bilmek gerek kalmadan 4 tüm örneklerini kaldırmak istiyorsanız:

SERİ:(.NET Çerçeve 3.5)

int[] numbers = { 1, 3, 4, 9, 2 };
int numToRemove = 4;
numbers = numbers.Where(val => val != numToRemove).ToArray();

Non-SERİ:(.NET Çerçeve 2.0)

static bool isNotFour(int n)
{
    return n != 4;
}

int[] numbers = { 1, 3, 4, 9, 2 };
numbers = Array.FindAll(numbers, isNotFour).ToArray();

Eğer sadece ilk örneğini kaldırmak istiyorsanız:

SERİ:(.NET Çerçeve 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();

Non-SERİ:(.NET Çerçeve 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();

Düzenleme:Malfist belirttiği gibi zaten fark etmediysen sadece, hedefleme gerekir .SERİ kodu için NET bir Çerçeve 3.5 çalışmak için örnekler. Eğer 2.0 hedefleme iseniz referans Olmayan örnekler ETMENİZ gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • arnejann

    arnejann

    3 Kasım 2007
  • AutoklubZAPRESIC

    AutoklubZAPR

    17 Mayıs 2011