创建一个函数来处理泛型类型的数据项并转换为列表

时间:2015-01-23 11:19:23

标签: c# list generics

我有一个必须在列表中创建单个项目的函数。目前如下:

public List<string> CreateList(string str)
{
  List<string> ls = new List<string>();
  ls.Add(str);
  return ls;
}

有没有办法对此进行模板化并使其处理任何数据类型?说出类似的话:

public List<T> CreateList(Tstr)
{
  List<T> ls = new List<T>();
  ls.Add(str);
  return ls;
}

2 个答案:

答案 0 :(得分:4)

您忘了指定方法的类型:

public List<T> CreateList<T>(T item)
{
  List<T> list = new List<T>{item};
  //or
  //list.Add(item);
  return list;
}

答案 1 :(得分:3)

为什么不简单地使用collection initializer

var list = new List<string>{ str };

那么为什么要重新发明轮子呢?