为了便于传递参数,我将字符串转换为List。
这是我的工作示例
string single = "single";
List<string> list = (new [] {single}).ToList();
这可以缩短吗?
此次尝试不正确,因为该列表将成为char列表。
List<char> wronglist = single.ToList();
答案 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();