![](/img/trans.png)
[英]Need Help in ServiceStack SQL Expression for List<ServiceResponse> strList
[英]C# how to join a list with delim, e.g., List<string> strList;, then strList.Join(“,”)
List<string> strList = new List<string>();
strList.Add("a");
strList.Add("b");
// I want to do this: string joined = strList.Join(",");
// joined = "a,b"
我是否需要对List或类似的东西进行扩展? 我想如果我有List bookList,它首先可以检查类型是否为字符串,而不是尝试连接Book对象
谢谢!
-编辑
为了澄清起见,我要求扩展List<string>
。 对困惑感到抱歉!
您是否尝试过:
List<string> strList = new List<string>();
strList.Add("a");
strList.Add("b");
string joined = string.Join(",", strList);
String.Join采用IEnumerable,因此无需编写特殊的扩展方法或通过ToArray()转换为数组。
是的,您必须编写一个这样的自定义扩展:
public static string JoinString
(this IEnumerable<string> source, string separator)
{
return string.Join(separator, source);
}
这将允许您在实现IEnumerable<string>
任何JoinString
上调用JoinString
(例如,像List<string>
):
string joined = strList.JoinString(",");
请注意,这是特定于.NET 4的答案-如果您使用的是.NET 3.5,则扩展方法必须如下所示:
public static string JoinString
(this IEnumerable<string> source, string separator)
{
return string.Join(separator, source.ToArray());
}
如果您需要加入,可以使用此代码
string line = string.Join(",", strList.ToArray());
Console.WriteLine(line);
如果需要条件,则需要给出书和字符串对象的示例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.