15% der Items einer List entfernen

  • C#
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Durch die Liste foreach'en, mittels Random ne Zahl zwischen 0 und 100 erzeugen,
    wenn zahl <= 15 dann das aktuelle Item entfernen.

    EDIT: Moment, du möchtest etwas anderes.
    Dafür: Zahl zwischen 0 und List.length erzeugen, und das Item mit diesem Index entfernen. Das solange machen, bis ein Counter (list.length * 0,15) erreicht hat.

    Fertig.

    C#-Quellcode

    1. List<int> RemovePercentage(List<int> list, int percentage) {
    2. var a = list.Count * percentage / 100;
    3. return list.OrderBy(x => new Random().Next()).Skip(a).ToList();
    4. }

    Zusätzlich könnte/sollte man noch prüfen, ob percentage auch zwischen 0 und 100 ist.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.