Rad*_*sky -1 c# .net-framework-version
我有
Dictionary<string, List<string>> Dic = new Dictionary<string, List<string>>();
Run Code Online (Sandbox Code Playgroud)
如何从Dic中删除前1,2,3个元素.我不知道如何使用"foreach"
foreach (KeyValuePair<string, List<string>> kvPair in Dic)
{
Console.WriteLine(kvPair.Key);
foreach (string str in kvPair.Value)
{
}
}
Run Code Online (Sandbox Code Playgroud)
Hab*_*bib 10
你不能从字典中获取项目1,2,3,你只能在一个键的基础上删除.
返回项的顺序未定义.
您可以使用Orderby根据键对字典进行排序.但要从字典中删除项目,您将需要密钥.
编辑:根据您编辑的问题与"foreach"
枚举时不能修改字典.如果您尝试从foreach中的字典中删除项目,则会收到错误:
收集被修改; 枚举操作可能无法执行.
您可以将字典转换为数组,然后从字典中删除项目(如下所示,可能会改进或更改,只是为了一个想法):
var dicArrray = Dic.ToArray();
foreach (KeyValuePair<string, List<string>> kvPair in dicArrray)
{
if (kvPair.Key.Equals("1"))
Dic.Remove(kvPair.Key);
}
Run Code Online (Sandbox Code Playgroud)
但请记住,项目在数组中的顺序是未定义的.你无法确定它