我需要計算符合.NET 2.0中的List(Of Structure)
中的條件的項目。例如:使用.NET 2.0/VB.NET中的謂詞計算List(Of structure)中的項目
Dim listcars as New List(Of car)
Structure car
Dim Name as String
Dim year as Integer
End structure
現在我需要計算所有名稱豐田汽車等汽車。我該怎麼做?
我需要計算符合.NET 2.0中的List(Of Structure)
中的條件的項目。例如:使用.NET 2.0/VB.NET中的謂詞計算List(Of structure)中的項目
Dim listcars as New List(Of car)
Structure car
Dim Name as String
Dim year as Integer
End structure
現在我需要計算所有名稱豐田汽車等汽車。我該怎麼做?
你想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)
的語法是公然錯的,但這樣的事情:
Dim toyotas as Integer;
toyotas = 0;
foreach(car c in listcars){
if(c.Name == "toyota")//make sure to do string comparison here.
toyotas++;
}
感謝,但是這不是我期待的/我知道如何使用每個循環,但我在我的問題用謂詞表示 – Smith
你在這裏。
var count = carList.Count(x => x.Name == "Toyota");
的作品,但他的例子是在vb –
您正在使用LINQ,但我使用vb2005,這可以轉換爲匿名函數 – Smith
'dim count as integer = carList.Count(Function(x)x.Name =「Toyota」 )' –
Dim toyotas As Integer = carList.Count(Function(c) c.Name = "Toyota")
感謝您的回覆,但我得到一個錯誤'公共ReadOnly屬性計數()作爲整數'沒有參數,其返回類型不能被索引' – Smith
您好,我得到這個錯誤'「LongCount」不是'System.Collections.Generic.List(Of SubmitForce.mdlGeneral.Car)'的成員' – Smith
對不起,我錯過了關於.Net 2.0的一點。我認爲,除非你編寫自己的繼承'List'的類,否則謂詞不適用於你想做什麼。 –