2015-06-20 102 views
0

我想将第一行的日期存储到列表字符串中。如何将它们转换为来自对象的列表字符串?C#将对象转换为列表<string>

public List<string> populateDates(string id) 
{ 
    List<string> dates = new List<string>(); 
    for (int i = 1; i < table.Columns.Count; i++) 
    { 
     object o = table.Rows[1][i]; 
     Console.WriteLine(o); 
    } 

    return dates; 
} 
+1

什么是“表格”,以及为什么要将日期存储为字符串?你能告诉我们一个'table.Rows [1] [i]'是什么的例子吗? –

+0

所有你需要的日期。添加(o.ToString());它会以字符串格式存储日期/日期时间 –

+0

@DourHighArch表是一个数据表....我试图从excel表中存储时间 – Cscience18

回答

1

您需要将项目添加到列表中。您可以拨打ToString将项目转换为字符串。例如:

public List<string> populateDates(string id) 
{ 
    List<string> dates = new List<string>(); 

    for (int i = 1; i < table.Columns.Count; i++) 
    { 
     dates.Add(table.Rows[1][i].ToString()); 
    } 

    return dates; 
} 
+0

这符合但它不显示日期。 – Cscience18

+0

是否有可能将我的内容转换为列表字符串?因为它正确输出它只是不在字符串列表格式。 – Cscience18

0

你可以缩小你的方法,以一个漂亮的一行:

public List<string> populateDates(string id) 
{ 
    return table[0].Select(d => d.ToString()).ToList(); 
} 

取整第一行。选择其中的每个项目,并在其上执行ToString()。将结果包装到列表中。

作为一个附注,DateTime结构为您提供了很多方法来返回不同形式的日期和时间字符串。其中一些:ToLongTimeString,ToShortDateString。检查MSDN了解更多详情。另外,如果你正在访问你的数组的第一行,那么你应该使用索引0而不是1(就像你的例子中那样)。