首页 > 解决方案 > 如何从 c# 中的“System.Collections.Generic.List`1[Microsoft.Online.Administration.UserLicense]”对象解析或提取数据

问题描述

我正在编写一个控制台应用程序,用于显示租户中所有用户的许可证信息。当我尝试打印时,它的打印类似于“System.Collections.Generic.List`1[Microsoft.Online.Administration.UserLicense]”。如何使用 c# 解析其中的数据?

     foreach (PSObject result in PS.Invoke())
            {
                foreach (var member in result.Members)
                {
                     if (member.Name == "Licenses")
                    {
                            Console.WriteLine(member.Value);
                    }
                };
            }

标签: c#powershelloffice365mvp

解决方案


List`1(或者List<T>如果你愿意的话) implements IEnumerable,所以一个额外的foreach循环来遍历这些值会做:

foreach (PSObject result in PS.Invoke())
{
    foreach (var member in result.Members)
    {
        if (member.Name == "Licenses")
        {
            foreach (var license in member.Value)
            {
                // license is now an individual `UserLicense` object
            }
        }
    }
}

推荐阅读