C# 无法转换。列表<;字符串>;串

C# 无法转换。列表<;字符串>;串,c#,string,list,C#,String,List,我不知道我做错了什么。我使用下面的select语句从sql server中选择了日期数据。然后我想把它添加到一个列表中。我已经使用System.Type检查了数据类型,它告诉我返回的值是System.String。因此,我认为这应该能够将其添加到类型字符串列表中,但我一直得到错误: 无法将类型System.Collections.Generic.List隐式转换为string public String getListFromColumnAsDATE(String columnName, Str

我不知道我做错了什么。我使用下面的select语句从sql server中选择了日期数据。然后我想把它添加到一个列表中。我已经使用System.Type检查了数据类型,它告诉我返回的值是System.String。因此,我认为这应该能够将其添加到类型字符串列表中,但我一直得到错误:

无法将类型
System.Collections.Generic.List
隐式转换为
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;
}
公共字符串getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}

此错误背后的原因来自这样一个事实:当您的方法声明说它应该返回
字符串时,您有一个类型为
List
的返回值

编译器正在通知您,它无法将延迟类型为
String
List
类型的对象转换为
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;
}
public List getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}

小旁注:


我谦恭地建议为您的
SqlCommand
和阅读器添加一个using语句(
myReader=myCommand.ExecuteReader();
)由于它们实现了
IDisposable

,因此此错误背后的原因是,当方法声明说它应该返回
字符串时,您有一个类型为
List
的返回值

编译器正在通知您,它无法将延迟类型为
String
List
类型的对象转换为
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;
}
public List getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}

小旁注:


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

可能bc您的返回类型是字符串,您正在返回一个
列表
?如果您需要字符串,您应该将db的结果添加到
stringbuilder
中,然后执行
tostring
可能bc您的返回类型是String,您正在返回一个
列表
?如果您需要字符串,您应该将db的结果添加到
stringbuilder
中,然后执行
tostring
啊,这很明显。我真蠢。非常感谢你的提醒。啊,这很明显。我真蠢。非常感谢你的提醒。