这是我面临的一个相当简单但令人讨厌的问题。
我的应用程序中有很多地方可以使用一个或多个字符串......所以说。 我默认使用了一个字符串列表。
但是每次我有一个字符串,我都这样做:
List<string> myList = new List<string>();
myList.Add(myString);
简单myString.ToList()
不起作用,因为它转换为字符列表而不是包含一个字符串的列表。
有没有一种有效的单行方式来做到这一点?
答案 0 :(得分:11)
使用集合初始化程序:
List<string> myList = new List<string>{myString};
更新。或者,正如评论中所建议的那样
var myList = new List<string>{myString};
答案 1 :(得分:3)
我根本不认为值得做以下事情,但如果你真的经常从单个字符串创建字符串列表,并且你真的真的想要最短的语法 - 那你就可以写一个扩展方法:
public static class StringExt
{
public static List<string> AsList(this string self)
{
return new List<string> { self };
}
}
然后你会这样做:
var list = myString.AsList();
但就像我说的那样,似乎不值得。它也可能与以下内容混淆:
var list = myString.ToList();
(通过使用Linq)将从字符串中的字符创建字符列表。