C#获取列表的特定变量

C#获取列表的特定变量,c#,C#,我创建了这个列表 List<Worker> list = new List<Worker>(); 当我创建列表时,我只想输出每个worker的名称,所以我创建了一个for循环 for (int i = 0; i < temp.Length; i++) { Console.WriteLine($"Worker {i+1}: {//name of worker}"); } for(int i=0;i

我创建了这个列表

List<Worker> list = new List<Worker>();
当我创建列表时,我只想输出每个worker的名称,所以我创建了一个for循环

for (int i = 0; i < temp.Length; i++)
        {
            Console.WriteLine($"Worker {i+1}: {//name of worker}");
        }
for(int i=0;i

但是我不知道如何从列表中提取变量“Name”

,因为Worker有一个
Name
属性,那么您就可以像这样简单地访问它:

for (int i = 0; i < temp.Length; i++)
{
     Console.WriteLine($"Worker {i+1}: {temp[i].Name}");
}
for(int i=0;i
由于Worker有一个
名称
属性,因此您可以通过如下方式访问它:

for (int i = 0; i < temp.Length; i++)
{
     Console.WriteLine($"Worker {i+1}: {temp[i].Name}");
}
for(int i=0;i
在查询时(在您的情况下,您需要
索引
名称
),请尝试使用专门用于查询的Linq:

  // When querying you can easily add conditions - Where, order - OrderBy etc.
  var query = list 
    .Select((worker, i) => $"Worker {i + 1}: {worker.Name}");
然后,您可以轻松地将其打印出来:

 foreach (item in query)
     Console.WriteLine(item);   
甚至

 Console.WriteLine(string.Join(Environment.NewLine, query));    
查询时(在您的情况下,您需要
索引
名称
),请尝试使用专门为查询而设计的Linq:

  // When querying you can easily add conditions - Where, order - OrderBy etc.
  var query = list 
    .Select((worker, i) => $"Worker {i + 1}: {worker.Name}");
然后,您可以轻松地将其打印出来:

 foreach (item in query)
     Console.WriteLine(item);   
甚至

 Console.WriteLine(string.Join(Environment.NewLine, query));    

您还可以编写一个toStringmethod@Thecave3为什么?这不是Java,问题不是如何生成字符串。它是如何访问列表中的元素的。为什么你有一个
静态的
ID?列表可以像数组一样被索引,例如
temp[i]
将返回第i个元素。@PanagiotisKanavos C#也有一个可以被重写的to string方法。如果正确建模类,则其签名为“public override string ToString()”。这可能是我的评论,没有问题,但请不要将“ToString”或软件设计的每个元素与Java联系起来。你也可以编写一个ToStringmethod@Thecave3为什么?这不是Java,问题不是如何生成字符串。它是如何访问列表中的元素的。为什么你有一个
静态的
ID?列表可以像数组一样被索引,例如
temp[i]
将返回第i个元素。@PanagiotisKanavos C#也有一个可以被重写的to string方法。如果正确建模类,则其签名为“public override string ToString()”。我的评论可能不符合我的观点,但请不要将“ToString”或软件设计的每一个元素与Java联系起来。