Ich habe den folgenden Code:kann nicht implizit Typ ‚int‘ auf ‚System.Collections.Generic.List <QuickTest.Stock>‘ konvertieren
static void Main(string[] args)
{
List<Stock> ticker = new List<Stock>();
ticker.Add(new Stock("msft"));
ticker.Add(new Stock("acw"));
ticker.Add(new Stock("gm"));
ticker = ticker.OrderBy(s => s.Name).ToList();
foreach (Stock s in ticker)
{
Console.WriteLine(s.Name);
}
Console.WriteLine("\n");
ticker = ticker.RemoveAll(s => s.TickerSymbol == "gm");
foreach (Stock s in ticker)
{
Console.WriteLine(s.Name);
}
}
Auf ein Objekt, das String-Eigenschaften und Tickersymbol Namen hat. Es hat auch doppelte Eigenschaften Price, ChangeDollars und ChangePercent.
Die zweite LINQ-Anweisung, die ich geschrieben habe, wirft einen Fehler mit der Nachricht, "kann Typ 'int' nicht implizit in 'System.Collections.Generic.List' konvertieren". Ich bin verwirrt, woher der Typ 'int' kommt und wie man diesen Fehler beheben kann, da ich keine int-Werte irgendwo im Programm verwende.
Ich bin auch sehr neu zu LINQ, das ist mein erstes Mal mit es. Dieser Fehler könnte sehr wohl eine Folge von LINQ sein, die ich nicht kenne.
Wer weiß, warum dieser Fehler passiert und wie es zu beheben?
'RemoveAll' wird keine neue Liste zurückgeben, es wird die vorhandene Liste ändern und die Anzahl der entfernten Datensätze zurückgeben. – Habib
Ihre zweite LINQ-Anweisung ist überhaupt keine LINQ-Anweisung. Alles, was es tut, ist 'RemoveAll' auf der Liste zu nennen – dcastro
@dcastro Ist es nicht eine Inline-LINQ-Anweisung? – mstagg