C# 连接列表中“JobDestination”下的所有项目

C# 连接列表中“JobDestination”下的所有项目,c#,list,C#,List,连接GetWaypoints方法生成的列表的最佳方式是什么?我想连接JobWaypoints下的所有项目,并用新行分隔它们 在我创建的waypoints列表中,我似乎无法找到直接访问JobWaypoints项目的最佳方式 Window.cs JobComponents.cs 我使用了string.Join方法。以下示例将创建一个字符串,其中包含所有JobWaypoints值,每个值之间带有逗号: List<JobComponent.JobList> waypoints = JobCo

连接GetWaypoints方法生成的列表的最佳方式是什么?我想连接JobWaypoints下的所有项目,并用新行分隔它们

在我创建的waypoints列表中,我似乎无法找到直接访问JobWaypoints项目的最佳方式

Window.cs

JobComponents.cs


我使用了string.Join方法。以下示例将创建一个字符串,其中包含所有JobWaypoints值,每个值之间带有逗号:

List<JobComponent.JobList> waypoints = JobComponent.GetWaypoints(jobId);
string s = string.Join(",", waypoints.Select(i => i.JobWaypoints));

请解释你到底想做什么连接列表是太模糊,你已经尝试这样做。查询数据库的方法是否相关?有字符串的东西。连接和航路点。选择应该可以。对不起。基本上,我所做的是运行一个SQL查询,查询结果存储在一个列表中。现在我想把这个列表转换成一个字符串,其中的项目用一个新行分隔。请显示似乎不起作用的代码。这是你的第500个问题,你应该知道。另请参见,。我似乎不知道如何访问waypoints列表中的JobWaypoints。这就是我真正挣扎的全部。在过去,我会转换JobComponent.GetWaypoints,但这似乎只适用于您实际从列表中选择了一个项目的情况。waypoints中没有JobWaypoints。返回作业列表列表,仅设置其作业目标。
    public static List<JobList> GetWaypoints(int jobId)
    {
        // Get destination
        const string query = "SELECT address FROM waypoint " +
                             "WHERE id NOT IN(" +
                             "(SELECT MIN(ID) FROM waypoint where booking_id=@id)," +
                             "(SELECT MAX(ID) FROM waypoint where booking_id=@id)) " +
                             "AND booking_id=@id";
        var jobList = new List<JobList>();
        using (var cmd = new MySqlCommand(query, DbObject.Connection))
        {
            if (DbObject.Connection.State != ConnectionState.Open)
            {
                DbObject.OpenConnection();
            }
            cmd.Parameters.AddWithValue(("@id"), jobId);
            try
            {
                using (MySqlDataReader dataReader = cmd.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        var item = new JobList
                        {
                            JobWaypoints = dataReader["address"] + ""
                        };
                        jobList.Add(item);
                    }
                    dataReader.Close();
                    DbObject.CloseConnection();
                    return jobList;
                }
            }
            catch (Exception ex)
            {
                ErrorHandlingComponent.LogError(ex.ToString());
                throw;
            }
        }
    }
List<JobComponent.JobList> waypoints = JobComponent.GetWaypoints(jobId);
string s = string.Join(",", waypoints.Select(i => i.JobWaypoints));