2014-12-03 4 views
0

Вот мой код в C#. Мне нужно конвертировать в vb.net. Я уже использую некоторые онлайн-конвертеры, но, похоже, не правильно.Команда синтаксиса LINQ в VB.NET

 var listResult = new List<GridViewO365Model>(); 
     listResult.Add(new GridViewO365Model("AB", 1, DateTime.Now, "ROC1", "CO1", "CODesc1", "ReType1", "Error 1")); 
     listResult.Add(new GridViewO365Model("FF", 1, DateTime.Now.AddHours(1), "ROC1", "CO1", "CODesc1", "ReType1", "Error 1")); 
     listResult.Add(new GridViewO365Model("GG", 1, DateTime.Now.AddHours(2), "ROC1", "CO1", "CODesc1", "ReType1", "Error 1")); 
     listResult.Add(new GridViewO365Model("CD", 2, DateTime.Now, "ROC2", "CO2", "CODesc2", "ReType2", "Error 2")); 

     listResult = (from p in listResult 
        group p by p.ReqID into grp 
        select grp.OrderByDescending(g => g.LogDate).First()).ToList(); 

Мне просто нужна команда LINQ в VB. Помогите кому-нибудь?

ответ

1

Вот еще один взгляд на это:

  • initializer syntax стенографии также доступен VB, который я применил к вашему созданию коллекции
  • Поскольку C# запрос миксы как запрос и лямбда-синтаксис, I» ве стандартизированы по синтаксису лямбда в VB

Dim listResult As New List(Of GridViewO365Model) From { 
    New GridViewO365Model("AB", 1, DateTime.Now, "ROC1", "CO1", "CODesc1", "ReType1", "Error 1"), 
    New GridViewO365Model("AB", 1, DateTime.Now, "ROC1", "CO1", "CODesc1", "ReType1", "Error 1"), 
    New GridViewO365Model("FF", 1, DateTime.Now.AddHours(1), "ROC1", "CO1", "CODesc1", "ReType1", "Error 1"), 
    New GridViewO365Model("GG", 1, DateTime.Now.AddHours(2), "ROC1", "CO1", "CODesc1", "ReType1", "Error 1"), 
    New GridViewO365Model("CD", 2, DateTime.Now, "ROC2", "CO2", "CODesc2", "ReType2", "Error 2")} 

listResult = listResult _ 
    .GroupBy(Function(p) p.ReqId) _ 
    .Select(Function(grp) grp.OrderByDescending(Function(g) g.LogDate).First) _ 
    .ToList() 
1
Dim listResult = New List(Of GridViewO365Model)() 
listResult.Add(New GridViewO365Model("AB", 1, DateTime.Now, "ROC1", "CO1", "CODesc1", _ 
    "ReType1", "Error 1")) 
listResult.Add(New GridViewO365Model("FF", 1, DateTime.Now.AddHours(1), "ROC1", "CO1", "CODesc1", _ 
    "ReType1", "Error 1")) 
listResult.Add(New GridViewO365Model("GG", 1, DateTime.Now.AddHours(2), "ROC1", "CO1", "CODesc1", _ 
    "ReType1", "Error 1")) 
listResult.Add(New GridViewO365Model("CD", 2, DateTime.Now, "ROC2", "CO2", "CODesc2", _ 
    "ReType2", "Error 2")) 

listResult = (From grp In From p In listResultGroup p By p.ReqIDgrp.OrderByDescending(Function(g) g.LogDate).First()).ToList() 

Существует ряд онлайн-конвертеров C# на VB. Вы можете использовать это с небольшими изменениями.

Смежные вопросы