我正在写这本书是因为我没有找到解决问题的方法。 我有这样的东西:
private class MockClass
{
public List<XClass> xList { get; set; }
}
private class XClass
{
public XClass(string name)
{
this.name = name;
}
public string Name{ get; }
}
接下来,我有一个采用List<string>
的方法,并且我想将此List<string>
转换为这样的列表:
private void CreateRequest(List<string> listOfString)
{
var request = new MockClass
{
xList = // here I have no idea if this can be done
};
}
这样做有什么意义吗?还是只是在MockClass类中更改为字符串?
答案 0 :(得分:6)
使用linq:
xList = listOfString.Select(a => new XClass(a)).ToList();
编辑:
使用linq Enumerable.Select
扩展方法,并传递一个Func<string, XClass>
选择器。选择器会将listOfString
的每个元素从string
转换为XClass
的实例。结果将是IEnumerable<XClass>
,您可以通过调用List<XClass>
将其转换为ToList()
。
答案 1 :(得分:0)
List.ConvertAll
方法可用于转换列表项:
xList = listOfString.ConvertAll(name => new XClass(name));