3 Stimmen

Eigenschaft mit Enumerable oder Liste

Ich spiele herum mit LINQ und verwandte Themen und wunderte sich über die folgenden.

Ich habe 2 Methoden, um eine Fibonacci-Folge zu erhalten. Ich begann mit:

public static IEnumerable<int> Fibonacci
    {
        get
        {
            int i = 0;
            int j = 1;
            int temp = 0;

            while (true)
            {
                yield return i;

                temp = i;
                i = j;
                j = temp + i;
            }
        }
    }  

Aber es hat mich zum Nachdenken gebracht, warum ich das hier vorziehen würde:

public static IList<int> Fibonacci(long to)
    {            
        IList<int> fibList = new List<int>();
        int i = 0;
        int j = 1;
        int temp, index = 0;

        while (index < to)
        {
            fibList.Add(i);

            temp = i;
            i = j;
            j = temp + i;

            index++;
        }
        return fibList;
    }

IList ist ein Enumerable sowie + Ich könnte einige Parametrisierung zu ihm hinzufügen möchten. Ich bin nicht wirklich auf der Suche nach Optimierungen oder Sachen wie < long > verwenden, weil die Zahl schnell groß wird, es ist nur ein schnelles Beispiel. Nur einige Argumente für und gegen jede Methode. Warum und wann sollte ich welche Methode verwenden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X