C# c-如何将列表中的项目放入列表

C# c-如何将列表中的项目放入列表,c#,C#,我试图将字符串类型列表中的所有项放入对象类型列表中 这是我的班级: public class Object { public string url; public bool case; public void Add(string item) { url = item; } } 我尝试了以下内容:类型字符串列表,我试图从中向新的类型对象列表添加元素: List<Object> finals = something.OfType

我试图将字符串类型列表中的所有项放入对象类型列表中

这是我的班级:

public class Object
{
    public string url;
    public bool case;
    public void Add(string item)
    {
        url = item;
    }
}
我尝试了以下内容:类型字符串列表,我试图从中向新的类型对象列表添加元素:

List<Object> finals = something.OfType<Object>().ToList();

我想要的是让我的对象类中的url与列表中的每个元素相等,并将所有元素的大小写都设置为false


我希望我说得够清楚了。提前谢谢

获取字符串列表中的每个项目,循环遍历它们并返回一个包含两个属性的对象列表,url和大小写。将case设置为false。将返回对象的可枚举接口

public class MyObject {
    public string url { get; set; }
    public bool case { get; set; }
}

public IEnumerable<MyObject> process(List<string> listOfUrls) {
    foreach(var item in listofUrls) {
        yield return new MyObject {
            url = item;
            case = false;
        }
    }
}

首先需要创建对象的实例,然后可以将其添加到列表中。 默认情况下,属性大小写为false

List<Object> finals = new List<Object>(); 
foreach(var item in something)
{
    var newObject = new Object(item);
    finals.Add(newObject);
}

在您的例子中,您可以通过使用LINQ使用单行程序轻松实现这一点

List<Object> finals = something.Select(s => new Object(s)).ToList();

bool的默认值为false,因此不需要任何特定的setter

以下是特定于您的案例的代码:

IEnumerable<Object> finals = strings.Select(s => new Object() { url = s });

case属性将默认为false,因此您不必显式键入它。

Object是一个非常糟糕的名称,您将经常遇到与System.Object的冲突。我建议您选择一个不同的名称。@ScottChamberlan该名称仅用于示例purposes@Garnyatar如果您想要一个示例类的名称,MyClass会更好。创建列表的列表不同于创建列表。在第一种情况下,包含对象的简单转换就足够了,在后一种情况下,必须创建新的MyClass对象。
IEnumerable<Object> finals = strings.Select(s => new Object() { url = s });