在C#中,是否有一个内联快捷方式来实例化一个只有一项的列表。
我目前正在做的是:
new List<string>( new string[] { "title" } ))
到处都是这段代码会降低可读性。我曾想过使用这样的实用方法:
public static List<T> SingleItemList<T>( T value )
{
return (new List<T>( new T[] { value } ));
}
所以我可以这样做:
SingleItemList("title");
有没有更短/更干净的方法?
谢谢。
发布于 2009-01-20 19:51:26
只需使用以下命令:
List<string> list = new List<string>() { "single value" };
您甚至可以省略()大括号:
List<string> list = new List<string> { "single value" };
更新:当然,这也适用于多个条目:
List<string> list = new List<string> { "value1", "value2", ... };
发布于 2009-01-20 20:15:23
var list = new List<string>(1) { "hello" };
与其他人发布的内容非常相似,只是它确保最初只为单个项目分配空间。
当然,如果你知道以后你会添加一大堆东西,这可能不是一个好主意,但仍然值得一提。
发布于 2009-01-20 19:52:47
Michael使用扩展方法的想法带来了更简单的东西:
public static List<T> InList<T>(this T item)
{
return new List<T> { item };
}
所以你可以这样做:
List<string> foo = "Hello".InList();
我不确定我是不是喜欢,提醒你...
https://stackoverflow.com/questions/462793
复制相似问题