首页 新闻 会员 周边 捐助

泛型,一句话遍历返回里面指定的值

0
悬赏园豆:50 [已解决问题] 解决于 2014-11-11 10:29

....

sb.Append("<span>标签:"+MyForEach(post.Categorys)+"</span></div>");

.....

 

public string MyForEach(IList<Model.Category> list)
{
StringBuilder sb = new StringBuilder();
foreach (var item in list)
{
sb.Append("[<a href=\"Category.aspx?id=" + item.Id + "\">" + item.Title + "</a>]");
}
return sb.ToString();
}

能不能不要下面的MyForEach方法,直接通过post.Categorys(类型为IList<Model.Category>)的相关扩展方法一句话输出等同MyForEach方法的效果

烧点饭的主页 烧点饭 | 初学一级 | 园豆:68
提问于:2014-11-11 08:36
< >
分享
最佳答案
0

string.join( post.Categorys.Select(m=>string.formart("[<a href=\"Category.aspx?id={0}\">{1}</a>]",m.Id,m.Title)))

你可以给Ie<string>扩展一个Join方法,把string.join合并到select之后。join,这样就接近函数式编程了

收获园豆:20
吴瑞祥 | 高人七级 |园豆:29449 | 2014-11-11 08:47

感谢!

烧点饭 | 园豆:68 (初学一级) | 2014-11-11 10:31
其他回答(1)
0

好像这样也行

var query = (from c in post.Categorys
                    select "[<a href=\"Category.aspx?id=" + c.iId + "\">" + item.Title + "</a>]").ToArray();

然后你再把query使用string.join一下就可以了。

收获园豆:15
爱编程的大叔 | 园豆:30844 (高人七级) | 2014-11-11 09:57

感谢!

支持(0) 反对(0) 烧点饭 | 园豆:68 (初学一级) | 2014-11-11 10:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册