Konvertieren Liste von Objekten in die Liste der Tupel ohne Durchlaufen

Ich versuche, mich zu fügen Sie einen zusätzlichen parameter, um eine Liste von ef zu verfolgende Objekte verarbeiten, aber ich laufen in Kenntnis zu initialisieren jedes Listenelement explizit. Was ist die richtige linq Weg, dies zu tun? Abgesehen von lakonischen, gibt es einen Vorteil, eine linq-syntax in diesem Fall?

List<app_subjects> subjectList = AppMySQLQueries.GetAllSubjects();
List<Tuple<app_subjects, bool>> subjectCollection = new List<Tuple<app_subjects, bool>>(subjectList.Count);

foreach (app_subjects subject in subjectList)
{
     subjectCollection.Add(Tuple.Create(subject, false));
}

Suchte ich die Seite, ohne Erfolg.

  • LINQ können dies tun, aber es sieht sehr ähnlich wie eine traditionelle for oder foreach.
  • LINQ würde auch der iteration, (intern)
  • Der Unterschied ist, dass mit LINQ können Sie in der Lage sein zu verschieben die Ausführung der arbeiten.
  • stimmt aber nicht, wenn er ruft Liste, die angesichts der Beispielcode notwendig werden könnte.
  • Daher das "kann" in meiner Aussage.
  • ja, ich gab einige Erklärung für die verzögerte Ausführung in meiner Antwort.
  • Liste<Tupel<T1, T2>> ernsthaft? Wie wäre Dictionary<T1, T2>?
  • Sie haben oft keine Kontrolle über welche Art von Sammlungen, die Sie in eine ausgereifte code-Basis.

InformationsquelleAutor aldosa | 2013-09-06
Schreibe einen Kommentar