如何获取列表中的数组项<;对象>;c#

如何获取列表中的数组项<;对象>;c#,c#,arraylist,ienumerable,C#,Arraylist,Ienumerable,如何获取列表c中的数组项# IEnumerable enumerable=c1.\u getbrandrequest(对象[]); List brand=enumerable.Cast().ToList(); 列表品牌=新列表(); 对于(int i=0;i如果enumerable包含Brand对象,则需要强制转换enumerable返回的元素。ElementAt(i): 我认为您的代码可以通过以下方式变得更干净: IEnumerable<object> enumerable = c

如何获取列表c中的数组项#

IEnumerable enumerable=c1.\u getbrandrequest(对象[]);
List brand=enumerable.Cast().ToList();
列表品牌=新列表();

对于(int i=0;i如果
enumerable
包含
Brand
对象,则需要强制转换
enumerable返回的元素。ElementAt(i)


我认为您的代码可以通过以下方式变得更干净:

IEnumerable<object> enumerable = c1._getbrandrequest(object[]);
List<Brand> brands = enumerable.OfType<Brand>().ToList();

foreach (Brand brnd in brands)
{
  // Do things with brnd.
}
IEnumerable enumerable=c1.\u getbrandrequest(对象[]);
列表品牌=可枚举的.OfType().ToList();
foreach(品牌中的品牌brnd)
{
//用brnd做事。
}
OfType只返回具有运行时类型品牌的对象,结果是IEnumerable,ToList()将它们放入一个新列表中。

var enumerable=c1.\u getbrandrequest(Object[]);
        var enumerable = c1._getbrandrequest( Object[] );

        List<Brand> brands = new List<Brand>();

        foreach (var brnd in enumerable)
        {
            Brand model = new Brand();

            model.sid = brnd.sid;

            brands.Add(model);

        }
列表品牌=新列表(); foreach(可枚举中的var brnd) { 品牌型号=新品牌(); model.sid=brnd.sid; 品牌。添加(型号); }
这是一个
对象的列表
所以你必须将它转换为正确的类型,我猜是
对象[]
。你应该将泛型对象转换为intellisense工作的实际类型。一个选项是你可以在运行时调试和检查它是什么类型。在我的对象数组中{[0]-{reqid=“1”,sid=“2”}{[1]-{reqid=“1”,sid=“2”}这是屏幕截图Hello Aruto,brnd return Null。Hello Evert,brands return 0。啊,可枚举的是一堆请求对象。我没有足够的信息来进一步帮助您,例如,如何根据请求获取品牌,我假设您必须以某种方式执行请求?
IEnumerable<object> enumerable = c1._getbrandrequest(object[]);
List<Brand> brands = enumerable.OfType<Brand>().ToList();

foreach (Brand brnd in brands)
{
  // Do things with brnd.
}
        var enumerable = c1._getbrandrequest( Object[] );

        List<Brand> brands = new List<Brand>();

        foreach (var brnd in enumerable)
        {
            Brand model = new Brand();

            model.sid = brnd.sid;

            brands.Add(model);

        }