SORU
19 Ocak 2009, PAZARTESİ


Normal bir dizi kaldırmak elemanı

Foo nesneleri bir dizi var. Nasıl dizinin ikinci elemanı kaldırabilirim?

Bir şey RemoveAt() benzer ama normal bir dizi için ihtiyacım var.

CEVAP
19 Ocak 2009, PAZARTESİ


Liste kullanmak istemiyorsanız:

var foos = new List<Foo>(array);
foos.RemoveAt(index);
return foos.ToArray();

Aslında yapmadığım bir uzantısı olan bu yöntemi deneyebilirsiniz:

public static T[] RemoveAt<T>(this T[] source, int index)
{
    T[] dest = new T[source.Length - 1];
    if( index > 0 )
        Array.Copy(source, 0, dest, 0, index);

    if( index < source.Length - 1 )
        Array.Copy(source, index   1, dest, index, source.Length - index - 1);

    return dest;
}

Ve kullanmak gibi

Foo[] bar = GetFoos();
bar = bar.RemoveAt(2);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012