由于此错误,我的代码行无法工作?

-3 c# winforms

所以基本上这是问题所在,我尝试了许多方法来解决它,但没有一个起作用!错误出现在这条线上:Templist.Add((string)result["titre"];Templist是错误!

private List<string> ReadNews()
{
    string SqlText = "SELECT * FROM nom_table"; 
    List<string> Templist; 
    MySqlConnection SqlConnection = new 
    MySqlConnection(TheConnectionString);
    MySqlCommand SqlCommand = new 
    MySqlCommand(SqlText,SqlConnection);


    MySqlDataReader result = SqlCommand.ExecuteReader();

    while (result.Read())
    {
        Templist.Add((string)result["titre"]);
    }

    return Templist;
}
Run Code Online (Sandbox Code Playgroud)

suj*_*lil 5

由于尚未初始化Templist,因此在初始化/分配实例之前,已声明的variable(Templist)将为null,并且您无法向其中添加null错误消息所说明的内容。该代码应为:

List<string> Templist =  new List<string>();
Run Code Online (Sandbox Code Playgroud)

一个我想在这里添加更多的东西是使用using为对象的妥善处置,并同时指定column names,而不是对*。考虑以下修改后的代码段:

private List<string> ReadNews()
{
    string SqlText = "SELECT titre FROM nom_table";
    List<string> Templist = new List<string>();
    using (SqlConnection SqlConnection = new MySqlConnection(TheConnectionString))
    {
        using (MySqlCommand SqlCommand = new MySqlCommand(SqlText, SqlConnection))
        {
            using (MySqlDataReader result = SqlCommand.ExecuteReader())
            {
                while (result.Read())
                {
                    Templist.Add((string)result["titre"]);
                }
            }

        }
    }
    return Templist;
}
Run Code Online (Sandbox Code Playgroud)