从字典中删除null项

本文关键字:null 删除 字典 | 更新日期: 2023-09-27 18:22:19

我有一个网页,它查询数据库并将结果存储在映射的数组字典类型中。我遇到的问题是,结果中的一些"行"为空,所以我可能返回了20条记录,前三条可能为空

所以我要遍历每个单独的数组,并检查它是否为null,所以我的问题是如何从数组的集合中删除它。

如果我做一些类似的事情

Objects[i].Remove(Objects[i].Keys.ToString());

我得到一个错误,因为Objects[I]为空

从字典中删除null项

您可以使用Linq来解决问题。假设您使用的是字典:

//Sample data, this dictionary is the one you get from the query to the database
Dictionary Objects= new Dictionary()
{
    "key1" => "value1",
    "key2" => null,
    "key3" => "value3"
};
//This will contain the same data as Objects but without the null values
Dictionary Objects2 = (from kv in Objects
    where kv.Value != null
    select kv).ToDictionary(kv => kv.Key, kv => kv.Value);

从后面对集合进行迭代/循环(从最后一项到第一项)。检查是否为null,适当删除。一般结构:

for(int n = collection.length; n >= 0; n--)
{
    if(collection[n] == null)
    {
        // delete collection[n]
    }
}