2009-08-11 8 views
1

Ich möchte folgendes, wenn möglich und kombinieren sie nehmen:Gibt es eine Einschränkung, Schnittstelle oder Klasse, die IEnumerable oder Array umhüllt?

public static T[] ForEach<T>(this T[] TArray, Action<T> doWhat) 
    { 
     foreach (var item in TArray) 
     { 
      doWhat(item); 
     } 
     return TArray; 
    } 

Die obige Griffe Array unten Griffe Listen

public static IEnumerable<T> ForEach<T>(this IEnumerable<T> TList, Action<T> action) 
    { 
     foreach (var item in TList) 
      action(item); 
     return TList; 
    } 

Gibt es gemeinsam etwas, dass beide erben von oder implementieren als eine Schnittstelle?

Antwort

4

Array erbt von IEnumerable.

+0

Mit anderen Worten: Sie können Arrays bereits an die 2. Version der Funktion übergeben. –

+0

Ich habe das verpasst, weil ich vergessen hatte, meinen Namespace für diesen Codeabschnitt zu importieren, bevor ich die Funktion zum Akzeptieren von Arrays schrieb. – Maslow

Verwandte Themen