我有一个字符串List<string>
这适用于所有列表。我需要获取字符串列表中的第一项,然后将我返回的字符串转换为字符串。
以下是使用linq的工作代码:
public List<string> AppGroup = new List<string>();
var group = SearchParameters.AppGroup.Take(1);
string firstAppGroup = String.Join(",", group.ToArray());
我的问题是;这是做我想做的最好的方法吗?有没有更好或更短的方式来写出来?可以理解考虑性能的一个很好的例子。如果我的确很好并且不需要更改,请告诉我。
我正在使用框架3.5及更高版本。
答案 0 :(得分:4)
您目前抓住列表中第一项的方法有点啰嗦,而且源于使用Take(1)
返回IEnumerable
而不是相关项目的事实。
假设SearchParameters.AppGroup
为List<string>
string firstAppGroup =
SearchParameters.AppGroup.FirstOrDefault(); //returns null on empty set
是一种更简洁的说明相同意图的方式。
编辑:
如@CodeInChaos所述,如果您不想处理空值,请在返回null的情况下使用null-coalescing运算符替换空字符串:
string firstAppGroup =
SearchParameters.AppGroup.FirstOrDefault() ?? string.Empty;
答案 1 :(得分:0)
可能是一个班轮:
string firstAppGroup = String.Join(",", SearchParameters.AppGroup.First());