如何计算ExpandoObject的属性

本文关键字:ExpandoObject 属性 计算 何计算 | 更新日期: 2023-09-27 18:04:05

我试图计算一个ExpandoObject的动态属性。

我试过了

int count = values.ICollection<KeyValuePair<string, Object>>.Count();

但是产生错误。

帮忙吗?

更新:

如何读取特定索引的属性?

如何计算ExpandoObject的属性

你的演员选错了。而不是

int count = values.ICollection<KeyValuePair<string, Object>>.Count();
使用

int count = ((ICollection<KeyValuePair<string, Object>>)values).Count;

您也可以将对象强制转换为IDictionary<string, object>,然后它变得更短:

int count = ((IDictionary<string, object>)values).Count

要读取特定索引处的属性,可以使用ElementAt扩展方法:

var valueAt5 = ((IDictionary<string, object>)values).ElementAt(5).Value

ExpandoObject实现了IDictionary<string, object>,因此您需要将其强制转换到此接口,您将能够访问IDictionary<TKey, TValue>.Count