可以简化将字符串转换为List <string>吗?</string>

时间:2014-02-13 21:27:56

标签: c#

为了便于传递参数,我将字符串转换为List。

这是我的工作示例

string single = "single";

List<string> list = (new [] {single}).ToList();

这可以缩短吗?

此次尝试不正确,因为该列表将成为char列表。

List<char> wronglist = single.ToList();

3 个答案:

答案 0 :(得分:10)

最简单的是:

List<string> list = new List<string>{single};

请参阅:Collection Initializer - MSDN

  

集合初始值设定项允许您指定一个或多个元素   初始化实现的集合类时的初始化程序   IEnumerable

答案 1 :(得分:1)

如果您需要该语法,可以创建一个Extension方法。

public static IList<string> ToList(this string) {
    return new List<string>{single};
}

然后你可以没有问题(如果与现有的string.ToList()发生冲突,你总是可以重命名这个扩展名。)

string single = "single";
List<string> list = single.ToList();

答案 2 :(得分:0)

您可以编写扩展方法,但我会选择除ToList之外的名称,以防止混淆自身可枚举的项目(通常,single.ToList()会返回List<char>)。

public static IList<T> AsList<T>(this T single) {
    return new List<T> { single };
}

// e.g.
IList<string> myList = single.AsList();