Подсчет элементов в списке (структуры) с использованием предиката в .NET 2.0 / VB.NET - PullRequest
1 голос
/ 26 июля 2011

Мне нужно посчитать элементы, которые соответствуют критериям, в List(Of Structure) в .NET 2.0. Например:

Dim listcars as New List(Of car)

Structure car
   Dim Name as String
   Dim year as Integer
End structure

Теперь мне нужно сосчитать все автомобили с именем Toyota и т. Д. Как мне это сделать?

Ответы [ 4 ]

3 голосов
/ 26 июля 2011
Dim toyotas As Integer = carList.Count(Function(c) c.Name = "Toyota")
1 голос
/ 26 июля 2011

Вы хотите List.LongCount.

Dim CarList As New List(Of Car)
Dim Model As String = "Toyota"
Dim ToyotaCount As Long = CarList.LongCount(Function(car) car.Name = Model)
1 голос
/ 26 июля 2011

Вот, пожалуйста.

 var count = carList.Count(x => x.Name == "Toyota");
0 голосов
/ 26 июля 2011

Синтаксис явно неправильный, но что-то вроде этого:

Dim toyotas as Integer;
toyotas = 0;
foreach(car c in listcars){
    if(c.Name == "toyota")//make sure to do string comparison here.
        toyotas++;
}
...