我開始使用LINQ,這是我的代碼片段。LINQ:尋找一個想法
var filterList = new List<string>()
{
"ACRating",
"Axles",
"SafetyCodes",
"BuiltInFeatures"
}
foreach(var i in filterList)
{
var filter = i;
var xList = Vehicles.FilterSpecList(filter);
foreach (var j in xList)
{
if (xList.Count() == 1) /*Will Not Work since a list could have a single value.*/
{
switch(j.FeatureName)
{
case "ACRating":
v.AcRating = j.Value;
Console.WriteLine(j);
break;
}
}
else
{
switch(j.FeatureName)
{
//Am trying to still figure out how to get all the items in BuiltInFeatures, but you get the idea.
case "BuiltInFeatures"
{
v.BuiltInFeatures = "MP3" + "SUNROOF";
break;
}
}
}
}
}
我面臨的問題是xList.Count不是查看列表值的可靠方法。有沒有一些方法可以將篩選器列表中的項目標記爲列表v/s是單個值。所以當我在代碼中進行比較時,我不必依賴xList.Count。
我不知道是否更容易建立一個字典,而不是一個列表來定義過濾器。 – abhi 2011-03-01 23:44:46
我不確定你想用這段代碼去哪裏?什麼是xList?爲什麼你需要「Count()== 1」檢查? – DaveShaw 2011-03-01 23:44:54
@DaveShaw。 VehicleFilter類返回兩種類型的項目。這些項目在列表中。重複的項目是一個列表。單個項目是屬性。因此,例如,該列表將包含一個或多個標記爲「BuiltInFeatures」的項目。這將作爲一個列表進行處理。如果列表包含單個項目,則會將其分配給屬性。 – abhi 2011-03-01 23:49:41