ho il seguente codice:Impossibile convertire implicitamente il tipo 'int' a 'System.Collections.Generic.List <QuickTest.Stock>'
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);
}
}
azionario è un oggetto che ha le proprietà di stringa tickerSymbol e il nome. Ha anche proprietà doppie Price, ChangeDollars e ChangePercent.
La seconda istruzione LINQ che ho scritto genera un errore con il messaggio "Impossibile convertire implicitamente il tipo 'int' in 'System.Collections.Generic.List'". Sono confuso da dove proviene il tipo 'int' e come correggere questo errore, in quanto non uso alcun valore int in nessun punto del programma.
Sono molto nuovo anche a LINQ, questa è la mia prima volta che lo uso. Questo errore potrebbe benissimo essere il risultato di qualche intreccio di LINQ di cui non sono a conoscenza.
Qualcuno sa perché questo errore si sta verificando e come risolverlo?
'RemoveAll' non restituirà un nuovo elenco, modificherà l'elenco esistente e restituirà il numero di record rimossi. – Habib
La tua seconda istruzione LINQ non è affatto un'istruzione LINQ. Tutto ciò che fa è chiamare 'RemoveAll' nell'elenco – dcastro
@dcastro Non è una dichiarazione LINQ in linea? – mstagg