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联系起来。