gpt4 book ai didi

c# - 返回类型数组

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:11 29 4
gpt4 key购买 nike

大家好,我是 C# 编程的新手,我在 C# 函数中返回数组类型时遇到问题。查询数据库的返回值(下面的代码):

 //determine list of lesson
private string fillTreeLesson(string course_id)
{
string connectionString = "server=localhost; database=moodle; user=root; password=";

using (MySqlConnection con = new MySqlConnection(connectionString))
{
try
{
con.Open();
MySqlCommand cmnd = con.CreateCommand();
string sql = "select name from lesson where course like '%"+course_id+"%'";
cmnd.CommandText = sql;
MySqlDataReader reader = cmnd.ExecuteReader();

while (reader.Read())
{
lesson_name = reader.GetString("name");

}

con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}
return lesson_name;
}

所以我的问题是:

  1. 我想把返回类型变成数组,你能给我建议吗?
  2. 我如何使用上面的函数,并通过返回值的索引调用。如果我像这样调用(fillTreeLesson 是我将使用的函数的名称):

    treeOutline.Nodes[counter_node].Nodes.Add(fillTreeLesson(course_name));

感谢关注

最佳答案

您可以使用列表轻松实现:

public List<string> FillTreeLesson(string course_id)
{

List<string> returnList = new List<string>();
try
{

con.Open();
MySqlCommand cmnd = con.CreateCommand();
string sql = "select name from lesson where course like '%"+course_id+"%'";
cmnd.CommandText = sql;
MySqlDataReader reader = cmnd.ExecuteReader();

while (reader.Read())
{
lesson_name = reader.GetString("name");
returnList.Add(lesson_name);
}
con.Close();
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

return returnList;
}

为了调用这个函数,

首先使列表包含您的结果:

List<string> namesList = new List<string>();

然后调用该函数并在 namesList 中获取它的输出我们只是 创建:

namesList = FillTreeLesson("CS-502");

之后,您可以使用 foreach 循环:

foreach(string currentName in namesList)
{
//Whatever you want to do with currentName
}

您可以使用 for 循环(如果您想在某些情况下使用它们,则更可取 使用它们的索引值进行排序或稍后必须更改它们的值 在)

for(int i=0; i<namesList.Count; i++)
{

//Your code. You should access given element as namesList[i]

}

关于c# - 返回类型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192568/

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