Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中将成员从类列表复制到字符串列表#_C#_Linq - Fatal编程技术网

C# 在C中将成员从类列表复制到字符串列表#

C# 在C中将成员从类列表复制到字符串列表#,c#,linq,C#,Linq,我有两张单子 List<Country> list1; List<string> list2; public class Country { string Id { get; set; } string Name { get; set; } } 列表列表1; 清单2; 公营国家 { 字符串Id{get;set;} 字符串名称{get;set;} } 我想将成员“Name”复制到列表2中,我该怎么做?公共类国家/地区{ public class C

我有两张单子

List<Country> list1;
List<string> list2;


public class Country 
{
    string Id { get; set; }
    string Name { get; set; }
}
列表列表1;
清单2;
公营国家
{
字符串Id{get;set;}
字符串名称{get;set;}
}
我想将成员“Name”复制到列表2中,我该怎么做?

公共类国家/地区{
public class Country {
    public string Id {get; set;}
    public string Name {get; set;}
}

// In using method ...
{
    List<Country> list1 = // assign countries

    // Either 
    List<string> list2 = new List<string>();
    list1.Select(c => c.name).ForEach(list2.Add);

    // OR
    var list2 = list1.Select(c => c.name).ToList();
}
公共字符串Id{get;set;} 公共字符串名称{get;set;} } //在使用方法上。。。 { 列表1=//分配国家/地区 //或者 List list2=新列表(); list1.Select(c=>c.name).ForEach(list2.Add); //或 var list2=list1.Select(c=>c.name.ToList(); }

关于“c”的评论的答复:

Linq大量使用“c”,c代表每个成员 列表(以及更一般的枚举)。在函数运算符的右侧,您可以 表达式、匿名方法或委托。变量 名字可以自由选择,可以是“国家”、“x”或其他任何名称 你想要的。我通常只取类名的第一个字母

公共类国家{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
}
//在使用方法上。。。
{
列表1=//分配国家/地区
//或者
List list2=新列表();
list1.Select(c=>c.name).ForEach(list2.Add);
//或
var list2=list1.Select(c=>c.name.ToList();
}

关于“c”的评论的答复:

Linq大量使用“c”,c代表每个成员 列表(以及更一般的枚举)。在函数运算符的右侧,您可以 表达式、匿名方法或委托。变量 名字可以自由选择,可以是“国家”、“x”或其他任何名称 你想要的。我通常只取类名的第一个字母


首先,您应该更改您的类,并将
Name
字段设置为公共字段:

public class Country
{
   public string id { get; private set; }
   public string name { get; private set; }
}
要创建名称列表,应使用以下子句:


首先,您应该更改您的类,并将
Name
字段设置为公共字段:

public class Country
{
   public string id { get; private set; }
   public string name { get; private set; }
}
要创建名称列表,应使用以下子句:


还有一种方法没有提到。 您可以使用接受
IEnumerable
的:

var Name=新列表(list1.Select(x=>x.Name));

还有一种方法没有提到。 您可以使用接受
IEnumerable
的:

var Name=新列表(list1.Select(x=>x.Name));

1。对不起,我是新来的,下次我会尽量说得更详细。对不起,我是新来的,下次我会尽量说得更详细一些
var names = new List<string>(list1.Select(x => x.Name));