Keresés

Új hozzászólás Aktív témák

  • Zalanius

    tag

    válasz amdni #8609 üzenetére

    Ez nem pont a keresett megoldás lesz, de miközben olvastam a kódodat, eszembe jutott pár dolog. Például van már létező osztály kétszeres láncolt listára, és extension methodokkal simán számol átlagot is minden egyéb nélkül. De ha valamit mélyebben berhelni kell, az sem probléma, példaként ott egy customsum. Dividebyzeroval most nem vacakoltam.

    class Program
    {
    static void Main(string[] args)
    {
    int[] costs = new int[] { 10, 20, 1 };
    var linkedcosts = new MyList<int>(costs);
    int costsum = linkedcosts.CustomSum();
    double costavg = costsum / (double)linkedcosts.Count;
    int costsum2 = linkedcosts.Sum();
    double costavg2 = linkedcosts.Average();

    string[] names = new string[] { "Gips", "Jacob" };
    var linkednames = new MyList<string>(names);
    string namessum = linkednames.CustomSum();
    string namessum2 = linkednames.Aggregate("", (c, n) => c + n);
    Console.ReadKey();
    }
    }

    class MyList<T> : LinkedList<T>
    {
    public MyList() : base()
    {
    }
    public MyList(IEnumerable<T> collection) : base(collection)
    {
    }

    public T CustomSum()
    {
    T sum = default(T);
    if (First == null)
    {
    return sum;
    }
    sum = First.Value;
    LinkedListNode<T> temp2 = First.Next;
    while (temp2 != null)
    {
    sum += (dynamic)temp2.Value;
    temp2 = temp2.Next;
    }
    return sum;
    }
    }

    szerk. megoldódott látom, így végül is offtopicnak is tárgytalan, de itt hagyom, hátha segít még vmit.

    [ Szerkesztve ]

    --= Zalán =--

  • I02S3F

    addikt

    válasz amdni #8609 üzenetére

    Nem vagyok azon a szinten, hogy tudjak érdemben segíteni, de angolul tudsz? Google-el utána néztél már? Stackoverflow-n biztos van hasonló probléma megoldással. Ha mást nem bontsd le kis feladatokra és azokra keress megoldást. Vagy túl kézenfekvő amit írok és túl vagy már ezeken? :R

    Szerk.: A másik megoldásnak az olvasást gondolom. Elolvashatod a használni kívánt komponensek dokumentációját, nézhetsz hozzá példákat. (Ez esetben el kell engedned azt, hogy szűkös határidőre elkészülsz).

    [ Szerkesztve ]

Új hozzászólás Aktív témák