public void deleteAllCarsWithType(Dictionary < KeyValuePair<string, string> , car > dictCar, string typeOfCar)
{
var keyValuePairs = dictCar.Where(keyValuePair => keyValuePair.Key.Equals(typeOfCar));
//var count = keyValuePairs.Count();
//this also gives the size of keyValuePairs as 0.
foreach (var keyValuePair in keyValuePairs)
{
dictCar.Remove(keyValuePair.Key);
}
}
KeyValuePair<string, string>
哪一个是字典的关键,有
carType
carModel
作为汽车的模型。
当我运行它的单元测试时
[TestMethod]
public void DeleteSameCarTypeTest()
{
Dictionary<KeyValuePair<string, string>, car> Dictionary = new Dictionary<KeyValuePair<string, string>, car>();
Dictionary.Add(new KeyValuePair<string, string>("x", "y"), new car());
Dictionary.Add(new KeyValuePair<string, string>("x", "z"), new car());
new Program().deleteAllCarsWithType(Dictionary, "x");
Assert.AreEqual(0, Dictionary.Count);
}
它失败了,说预期
0
2
.
当我调试它时,我发现
keyValuePairs
具有预期的两个值(与
车辆类型
键值对
是
0
Count
的
也即将到来
. 我不知道我做错了什么。请帮帮我。