在C#</string>中将字符串一行转换为List <string>

时间:2013-07-02 07:49:09

标签: c# string list

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

我的应用程序中有很多地方可以使用一个或多个字符串......所以说。 我默认使用了一个字符串列表。

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

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

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

2 个答案:

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