gpt4 book ai didi

c# - 迭代工作列表以打印职位、姓名、雇主、职位和核心能力

转载 作者:行者123 更新时间:2023-11-30 21:42:21 28 4
gpt4 key购买 nike

我在我的 Program.cs 文件中有一个方法要实现。当该方法遍历作业列表(其中每个作业都是一个字典)时,它应该打印:

*****
name: Data Scientist / Business Intelligence
employer: Bull Moose Industries
location: Saint Louis
position type: Sr. IT Analyst (Data/BI)
core competency: Statistical Analysis
*****

文件 job_data.csv 包含我需要的所有工作信息:

name,employer,location,position type,core competency
Junior Data Analyst,Lockerdome,Saint Louis,Data Scientist / Business Intelligence,Statistical Analysis
Project Coordinator Support,Maritz,Saint Louis,Technical Assistant / User Support,Non-coding
Junior Web Developer,Cozy,Portland,Web - Front End,Ruby
Junior Developer 3,LiveAnswer,South Florida,Web - Full Stack,Java
Full Stack Engineer,Splitwise,Rhode Island,Web - Full Stack,Ruby
Customer Experience,Splitwise,Rhode Island,Project Manager / Analyst,Non-coding
IT Support Specialist,Viamontech,South Florida,Technical Assistant / User Support,Non-coding
C#/.net Developer ,Hunter Engineering,Saint Louis,Software / Enterprise Developer,.Net
Junior Developer,"TruckMovers.com, Inc.",Kansas City,Web - Full Stack,Python

...等等(总共有 99 行)。我需要做的是编写 PrintJobs 方法,使其进入 job_data.csv 并打印出标签:

name: 
employer:
location:
position type:
core competency:

后跟每行中的相应项目。例如,打印第 10 行将如下所示:

*****
name: Junior Developer
employer: "TruckMovers.com, Inc."
location: Kansas City
positon type: Web - Full Stack
core competency: Python
*****

我该怎么做?该方法的起始代码是:

private static void PrintJobs(List<Dictionary<string, string>> someJobs)
{
Console.WriteLine("printJobs is not implemented yet");
}

我不完全确定参数 someJobs 来自哪里。这也是我得到的提示:

为此,您需要遍历作业列表。每个作业本身就是一个字典。虽然您可以使用已知键(“雇主”、“位置”等)从字典中取出每个项目,但请考虑创建一个嵌套循环来遍历每个字典。您需要使用 Dictionary.Keys 属性来执行此操作。如果将新字段添加到作业记录,此方法将打印出新字段而无需对 PrintJobs 进行任何更新。

根据提示,我猜我需要做类似的事情:

private static void PrintJobs(List<Dictionary<string, string>> someJobs)
{

//match up index value with label, write label + value

if (i = [0])
{Console.WriteLine("name: "); + string someJobs}

else if (i = [1])
{Console.WriteLine("employer: "); + string someJobs}

else if (i = [2])
{Console.WriteLine("location: "); + string someJobs}

else if (i = [3])
{Console.WriteLine("positon type: "); + string someJobs}

else if (i = [4])
{Console.WriteLine("core competencey: "); + string someJobs}

}

我试过了,仍然收到消息:

printJobs is not implemented yet        

完全是 C# 初学者。
完整代码链接:

Program.cs , JobData.cs , job_data.csv

最佳答案

我没有看到你的完整代码,但据我了解你的问题,你想要打印你在以下部分中提到的 csv 数据

*****
name: Junior Developer
employer: "TruckMovers.com, Inc."
location: Kansas City
positon type: Web - Full Stack
core competency: Python
*****

您可以通过使用 LINQ 非常轻松地实现此目的,方法如下:

  var result = File.ReadAllLines(csvPath)
.Skip(1)//skipping first line because they are headers
.Select(x => x.Split(','))
.Select(x => new
{
Name = x[0],
employer = x[1],
location = x[2],
position_type = x[3],
core_competency = x[4]
});
foreach (var item in result)
{
Console.WriteLine("Name: " + item.Name+"\n");
//...
Console.WriteLine("Position Type: " + item.position_type);
}

代码将按照您的需要打印数据。如果您还想要其他东西,请告诉我。

这是经过测试的代码,可以正常工作。

关于c# - 迭代工作列表以打印职位、姓名、雇主、职位和核心能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617391/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com