如何获取列表中的数组项<;对象>;c#
如何获取列表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
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);
}