这是我面临的一个相当简单但令人讨厌的问题。
我的应用程序中有很多地方可以使用一个或多个字符串……可以这么说。默认情况下,我使用了一个字符串列表。
但是每次我有一个字符串时,我都会这样做:
List<string> myList = new List<string>();
myList.Add(myString);
一个简单的myString.ToList()
不起作用,因为它转换成一个字符列表,而不是一个字符串的列表。有没有一种有效的单线方式来做到这一点?
使用集合初始化器:
List<string> myList = new List<string>{myString};
更新。或者,正如评论中所建议的,
var myList = new List<string>{myString};
我根本不认为值得做以下事情,但是如果你真的经常从单个字符串创建字符串列表,并且你真的想要尽可能短的语法 - 那么你可以编写一个扩展方法:
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)将从字符串中的字符创建一个字符列表。