1

下面将选择对某个项目投赞成票的用户的姓名,然后将其放在逗号分隔的字符串中。

 var string = string.Join(", ", comment.CommentVote.Where(v=> v.Vote == true).Select(v => v.User.FirstName).ToArray());

我希望能够获取名字和姓氏,将它们放在一起,然后在逗号分隔的列表中列出它们。

背景:我正在尝试创建类似于 Facebook 的东西:

 John Doe and 25 others like this

其中“25 others”提供悬停时的用户列表。我可以遍历投票的用户并获取名字和姓氏,将它们连接起来,然后添加一个逗号,看起来应该有一些更简单的东西可以让我避免 foreach 循环。

4

2 回答 2

3

只需将它们连接起来:

var str = string.Join(", ", 
                      comment.CommentVote
                             .Where(v=> v.Vote)
                             .Select(v => v.User.LastName + " " + v.User.FirstName));

此外,您不需要ToArray()显式调用,就像string.Join重载接受一样IEnumerable<T>。而且你不能有一个名为 name 的变量string,因为它是 type 的别名System.String

于 2012-12-18T23:52:58.953 回答
2

您可以在 select 语句中加入您想要的 to 值。

var results = string.Join(", ", comment.CommentVote.Where(v=> v.Vote)
              .Select(v => string.Format("{0} {1}", v.User.FirstName, v.User.LastName)));

编辑:对不起,康斯坦丁·瓦西尔科夫已经回答了

于 2012-12-19T00:02:15.267 回答