string—实体属性映射 先split('-'),获取到str里面每一项的字符串,然后循环,反射找到对应的属性,getvalue取出值,重新用"-"拼接 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string s = ""+s1+"_"+s2+"_"+s3+""; 我需要的是动态映射,顺序都会不同。顺序不同怎么了,str里顺序不同,解出的数组顺序也不同啊 你先自己试验下split是什么效果,然后有问题再问不要还没看懂别人说什么就急忙否定 没有更加简洁的方式.这个就是最简洁的方式了.除非你改变设计思路,不要传入这种"name_gender_age"字符串里面明明是三个变量名,非要放到一个字符串里去,不先分解出来,如何得到对应的每个名称? string str="name_gender_age";string[] propertyField=str.Splite('_');string result=string.Empty;foreach(string item in propertyField){PropertyInfo pi = objectType.GetProperty(item, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); if (pi == null) throw new ArgumentException("没有找到指定属性名称。"); if (!pi.CanRead) throw new ArgumentException("指定属性没有get方式,无法读取值。"); object value = pi.GetValue(objectInstance, null); if(value!=null){ result+=value+"_"; }}result=result.TrimEnd('_');部分手写的,可能有点错误,自己修改下 如何用webBrowser实现免登录 已有打开的与此命令相关联的 DataReader,必须首先将它关闭 numericUpDown显示时间格式 用4.0编译3.5的程序,大家用到过没 论--从菜鸟腾飞至专家(我的心得) 文本框读取字符串怎么做 那位大哥可以帮我写一个简单的socket程序 各位大侠,帮忙看一下,这问题怎么解决 关于资源的利用 C#常用排序和查找算法的GUI实现~! 求助:C#调用Zlib库实现字符串压缩问题 关于tabcontrol的小问题,大家帮看看。
我需要的是动态映射,
顺序都会不同。
顺序不同怎么了,str里顺序不同,解出的数组顺序也不同啊
不要还没看懂别人说什么就急忙否定
这个就是最简洁的方式了.
除非你改变设计思路,不要传入这种"name_gender_age"字符串
里面明明是三个变量名,非要放到一个字符串里去,不先分解出来,如何得到对应的每个名称?
string[] propertyField=str.Splite('_');
string result=string.Empty;
foreach(string item in propertyField)
{
PropertyInfo pi = objectType.GetProperty(item, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase);
if (pi == null)
throw new ArgumentException("没有找到指定属性名称。");
if (!pi.CanRead)
throw new ArgumentException("指定属性没有get方式,无法读取值。"); object value = pi.GetValue(objectInstance, null);
if(value!=null){
result+=value+"_";
}
}
result=result.TrimEnd('_');部分手写的,可能有点错误,自己修改下