在 C# 中将 List <string> 转换为 List<type> 的最佳方法是什么

Ant*_*o00 0 .net c# string list

我写信是因为我没有找到解决我的问题的方法。我有这样的事情:

private class MockClass
{
    public List<XClass> xList { get; set; }
}

private class XClass
{
    public XClass(string name)
    {
        this.name = name;
    }
    public string Name{ get; }
}
Run Code Online (Sandbox Code Playgroud)

接下来,我有一个接受 a 的方法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
    };
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么意义,或者只是在 MockClass 类中更改为字符串?

jas*_*hoe 6

使用 linq:

xList = listOfString.Select(a => new XClass(a)).ToList();
Run Code Online (Sandbox Code Playgroud)

编辑:

使用 linqEnumerable.Select扩展方法,传递一个Func<string, XClass>选择器。选择器会将listOfStringa 的每个元素转换string为 的实例XClass。结果将是IEnumerable<XClass>,您可以List<XClass>通过调用将其转换为ToList()