【发布时间】:2021-12-28 04:31:52
【问题描述】:
我有一本水果词典<string, list<Fruit>>我的词典给出了以下输出
Job ID: 1001 items:
"Apple"
"Mango"
"Banana"
"Pine Apple"
"Orange"
Job ID: 1002 items:
"Banana"
"Mango"
"Pine Apple"
"Orange"
"Apple"
Job ID: 1003 items:
"Apple"
"Banana"
"Orange"
"Pine Apple"
"Mango"
现在我想从水果列表中删除一个特定的水果
例如,我想从列表中删除Apple
foreach(var i in fruitDic)
{
foreach(var k in i.Value)
{
// furitName is variable which I want to remove from list
if (k.Name == fruitName)
{
// here I am getting an error
k.Value.Remove(fruitName);
}
}
}
我收到一条错误消息:Error CS1503 Argument 1: cannot convert from 'string' to 'Practice.Models.Fruit'
【问题讨论】:
-
注意你的问题有点普通。该数据不是
<string, list<Fruit>>的有用表示,因此有点令人困惑,这是我猜测没有尽快回答的唯一原因 -
@saghar francis:
List<Fruit>有重复项吗?如果没有,请改用SortedSet<Fruit>:将提供更多性能。 -
@saghar 在
if (k.Name == fruitName)行中,k 是字符串列表中的一个项目,因此它将是if (k == fruitName),顺便说一句,在foreach循环中,您不能修改集合,即删除任何项目,您都可以修改对象的任何属性。
标签: c# asp.net asp.net-core c#-4.0