[VB.NET] .ToArray & Lambda

.ToArray & Lambda [VB.NET] - C#/.NET managed - Programmation

Marsh Posté le 11-07-2014 à 16:51:49    

Salut,  
 
J'ai un peu de mal avec la syntaxe des lambdas...
 

Code :
  1. Dim LineIds() As Integer = LinesToUpdate.Values.Where(
  2.  Function(entry As OasisEntryData) entry.Action = OasisEntryData.ActionValues.Update) _
  3.  .ToArray(Function(entry) entry.SheetLineData.lineID)


 
LinesToUpdate est un dictionary de OasisEntryData, que je veux filtrer sur entry.Action = Update, puis en extraire un tableau d’int (LineID)
 
Et sur le .ToArray j'ai :  

Code :
  1. Lambda expression cannot be converted to 'Integer' because 'Integer' is not a delegate type.


 
Des suggestions ?
 
Merci !


Message édité par gooopil le 11-07-2014 à 16:52:24
Reply

Marsh Posté le 11-07-2014 à 16:51:49   

Reply

Marsh Posté le 12-07-2014 à 06:07:13    

Je me répond tout seul, merci aux 33 qui ont quand même regardé la question ;)
 
Manquait un select en fait...
 

Code :
  1. Dim LineIds() As Integer = LinesToUpdate.Values _
  2.             .Where(Function(entry As OasisEntryData) entry.Action = OasisEntryData.ActionValues.Update) _
  3.             .Select(Function(entry As OasisEntryData) entry.SheetLineData.LineID) _
  4.             .ToArray()


 ou
 

Code :
  1. Dim LineIds() As Integer =
  2.                    (From entry In LinesToUpdate.Values
  3.                     Where entry.Action = OasisEntryData.ActionValues.Update
  4.                     Select entry.SheetLineData.LineID).ToArray()

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed