C# 在字典中查找所有值<;字符串,对象>;其中值包含子字符串

C# 在字典中查找所有值<;字符串,对象>;其中值包含子字符串,c#,linq,dictionary,C#,Linq,Dictionary,我有一本字典 Dictionary<string, object> ItemSource; 但这会退回所有物品 ItemsOrce中的项目是 {[11,رحیمی]} {12,سالاری} {13,محمدی} 您可以尝试以下方法:- ItemSource.Where(a=> a.Key.Contains(pattern)).Select(a=> a.Value); 编辑: var source = ItemSource.Where(a=> a.Value

我有一本字典

Dictionary<string, object> ItemSource;
但这会退回所有物品

ItemsOrce中的项目是

{[11,رحیمی]}
{12,سالاری}
{13,محمدی}
您可以尝试以下方法:-

ItemSource.Where(a=> a.Key.Contains(pattern)).Select(a=> a.Value);
编辑:

var source = ItemSource.Where(a=> a.Value == pattern).Select(a=> a.Key);
您可以尝试以下方法:-

ItemSource.Where(a=> a.Key.Contains(pattern)).Select(a=> a.Value);
编辑:

var source = ItemSource.Where(a=> a.Value == pattern).Select(a=> a.Key);


谢谢,但是
对象中的值
和不可以使用
包含
。@ar.gorgin:-更新了我的答案。请现在检查!谢谢,但我想用值搜索。@ar.gorgin:-更新了!我想在ItemSource中搜索一个类似值的模式。但此代码选择相等的项。谢谢,但
对象中的值
和不可使用
包含的
。@ar.gorgin:-更新了我的答案。请现在检查!谢谢,但我想用值搜索。@ar.gorgin:-更新了!我想在ItemSource中搜索一个类似值的模式。但是这段代码选择了相等的项。您忘记分配给ItemSource了吗?ItemSource=ItemSource.Where(a=>a.Value.ToString().Contains(pattern))不,我只写有问题的linq代码。您好,我已经尝试在这个小提琴上重现您的问题:但是结果是正常的,您能帮我修改一下以重现您的问题吗?哦,我可以看到这两个数据都包含“ª”字符,那么您预期的结果是什么?  结果正常…您是否忘记分配给ItemSource?ItemSource=ItemSource.Where(a=>a.Value.ToString().Contains(pattern))不,我只写有问题的linq代码。您好,我已经尝试在这个小提琴上重现您的问题:但是结果是正常的,您能帮我修改一下以重现您的问题吗?哦,我可以看到这两个数据都包含“ª”字符,那么您预期的结果是什么?  结果还可以。。。