无法将.List <string>转换为字符串

Dan*_*rex 2 c# string list

不知道我在这里做错了什么.我使用下面的select语句从sql server中选择了日期数据.然后我想将它添加到列表中.我已经使用System.Type检查了数据类型,它告诉我我得到的值是System.String.所以我认为这应该能够将它添加到String类型的列表中,但我不断收到错误:

无法隐式转换System.Collections.Generic.List<string>string

public String getListFromColumnAsDATE(String columnName, String database)
{
    myCommand = new SqlCommand("SELECT [Date] = convert(char(10), getdate(), 103) FROM Weekly_Tannery_Data", myConnection);
    List<String> graphList = new List<String>();
    myConnection.Open();

    myReader = myCommand.ExecuteReader();

    while (myReader.Read())
    {
        graphList.Add(myReader.GetString(0));
    }

    myConnection.Close();
    return graphList;
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*rty 9

这个错误背后的原因是,List<String>当你的方法声明说它应该返回一个时,你有一个类型的返回值String.

编译器通知您它无法将List具有延迟类型的类型对象String转换为String.这是正常的,因为它无法单独这样做.根据您的上下文,您需要在方法声明中切换返回值类型,如下所示,或者将列表转换为canon建议的字符串.

public List<String> getListFromColumnAsDATE(String columnName, String database)
{
        myCommand = new SqlCommand("SELECT [Date] = convert(char(10), getdate(), 103) FROM Weekly_Tannery_Data", myConnection);
        List<String> graphList = new List<String>();
        myConnection.Open();
        myReader = myCommand.ExecuteReader();
        while (myReader.Read())
        {
            graphList.Add(myReader.GetString(0));
        }
        myConnection.Close();
        return graphList;
}
Run Code Online (Sandbox Code Playgroud)

小方注:

我谦卑地建议为你SqlCommand和读者(myReader = myCommand.ExecuteReader();)添加一个using语句,因为它们实现了IDisposable.