2016-06-21 6 views
1

Dieser Code:Convert Liste doppelt auf eine Liste von Integer in C#

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll<int>(); 

Ergebnis Fehler:

There is no argument given that corresponds to the required formal parameter 'converter' of List.ConvertAll(Converter)'

ich dies tat:

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll<int>(Converter<double,int>); 

hat nicht funktioniert. Wie einfach Liste von Double in Liste von Integer konvertieren? Vielen Dank.

+0

die Doppel ganzzahlige Werte sind, oder einige Runden ist/benötigt Abschneiden? –

Antwort

3

Die ConvertAll benötigt als Parameter eine Funktion, die das aufgezählte Doppel als Eingabe akzeptiert und es in eine ganze Zahl umwandeln kann. Es ist nur eine Convert.ToInt32

List<int> scrambledWatermark = ScrambledWatermark.ConvertAll(Convert.ToInt32); 
+0

Danke, es hat funktioniert. –

-1
List<int> listOfIntegers = listOfDoubles.ConvertAll(x => (int)x); 
+1

Auch hier gibt es eine explizite Besetzung https://msdn.microsoft.com/en-us/library/ms173105.aspx – Steve

-1

An der Spitze:

using System.Linq; 

dann:

List<double> ScrambledWatermark = new List<double>(); 

List<int> ints = ScrambledWatermark.Select(a => (int)a).ToList(); 
+1

@DovydasSopa ehm, nein dies ist eine explizite Besetzung und ist erlaubt https://msdn.microsoft.com /de-de/library/ms173105.aspx – Steve