日期:2014-05-17  浏览次数:20492 次

匿名数组如何动态添加
var a =new[] ... 貌似是固定的,如何动态添加呢 


------解决方案--------------------
用List不行吗?
------解决方案--------------------
数组都是定长的,可以用 Array.Resize(ref a, 长度) 来改变长度,
或者用 var a = new ArrayList(new[]{ ... }) 来创建ArrayList或List<T>动态数组,用Add方法添加,
还可以用Linq方法 a = a.Union(new[] { ... }).ToArray() 来达到添加元素效果。 
------解决方案--------------------
List<object>  试下?  object类型是所有类型的基类  
------解决方案--------------------
var list = new[] { ... }.ToList();
------解决方案--------------------
不一定非要用匿名的吧?你可以把几个属性的值拼接成字符串,中间用特殊符号隔开,然后再解析这个字符串
------解决方案--------------------
引用:
#13L 俺明白你的意思 

时间不多了,对于匿名类型不是很熟悉,先采用自定义拼接字符串,array=str.spilt(',');

arrar[0],array[1]

晚上我会结贴的 
匿名类型在linq里用的多啊,不一定适合所有场景呀~~  像你这样属性不固定,取值还要反射。。。多麻烦 
------解决方案--------------------
其实你就不该选择用匿名类型,因为匿名类型就是根据你后面的类型来确定类型的
------解决方案--------------------
匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。类型名由编译器生成,并且不能在源代码级使用

------解决方案--------------------
        public DbParameter[] SetValueParam(object objinfo)
        {
            Type type = objinfo.GetType();

            DbParameter[] param = new DbParameter[type.GetProperties().Length];
            int i = 0;