繁体   English   中英

C# BsonDocument - 如何检查字段是否为数组

[英]C# BsonDocument - How to check if field is an array

我收到一个我不知道其结构的 BsonDocument。 我浏览了所有属性,但我想以不同的方式处理数组。 如何确定该字段是否为数组?

foreach(var property in bsonDoc){
   if(/**check if its an array field**/){
     //do something
  }
}

答案很简单,我想我有点困惑。 不过,我会发布一个解决方案。

正如 Eldar 已经评论过的,有一个 bool 属性表示 BsonValue 是否为 BsonArray:

foreach(var property in bsonDoc){
   if(property.IsBsonArray){
     //do something
  }
}

这里也可以使用 is 运算符: property is BsonArray

这样做的好处是可以同时创建该类型的变量,所以我推荐这个变体:

foreach(var property in bsonDoc){
   if(property is BsonArray arrayProperty){
     doSomething(arrayProperty);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM