6

这是我面临的一个相当简单但令人讨厌的问题。

我的应用程序中有很多地方可以使用一个或多个字符串……可以这么说。默认情况下,我使用了一个字符串列表。

但是每次我有一个字符串时,我都会这样做:

List<string> myList = new List<string>();
myList.Add(myString);

一个简单的myString.ToList()不起作用,因为它转换成一个字符列表,而不是一个字符串的列表。有没有一种有效的单线方式来做到这一点?

4

2 回答 2

18

使用集合初始化器:

List<string> myList = new List<string>{myString};

更新。或者,正如评论中所建议的,

var myList = new List<string>{myString};
于 2013-07-02T07:49:39.777 回答
4

我根本不认为值得做以下事情,但是如果你真的经常从单个字符串创建字符串列表,并且你真的想要尽可能短的语法 - 那么你可以编写一个扩展方法:

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)将从字符串中的字符创建一个字符列表。

于 2013-07-02T08:02:02.307 回答