【发布时间】:2019-07-04 20:04:10
【问题描述】:
如果可能的话,我试图弄清楚如何检查对象是否包含特定值。
我的对象内容列表如下:
[{
"TypeId": 1,
"Content": "Some content here"
},
{
"TypeId": 2,
"Content": "Some new content here"
},
{
"TypeId": 4,
"Content": "Some other content here"
}]
现在,我想做的是像这样搜索:
if(commentsList.Contains(4))
我想检查 cmetsList 是否有 TypeId 为 4 的对象。
这个可以吗?
任何帮助表示赞赏并提前感谢:-)
【问题讨论】:
-
cmetsList.Select(x = > x.TypeId).Contains(4) ?或者正如 Jerodev 的回答所说
commentsList.Any(x => x.TypeId ?? 4) -
查看您的数据,
TypeId键入的Dictionary可能是比列表更好的容器,您可以使用dic.ContainsKey(4)进行最佳检索。 -
@vc74 但是您不需要将对象拆分为两个不同的对象,一个是“TypeId”类型,另一个是“Content”类型?
-
@MindSwipe 不,应该是
Dictionary<int, Content> -
@vc74 你可以这样做。但是现在你有
List<TypeContent>,你需要把它拆开。我明白您对字典的看法,但只有当您拥有似乎是 JSON 的序列化数据并且需要将其反序列化为对象时,该字典才有意义