0

我有一个DateTime名为的集合reportLogs。我需要从这个创建一个Collection<T>。最有效的方法是什么?ShortDateStringCollection<DateTime>

Collection<DateTime> reportLogs =  reportBL.GetReportLogs(1, null, null);
Collection<string> logDates = new Collection<string>();
foreach (DateTime log in reportLogs)
{
    string sentDate = log.ToShortDateString();
    logDates.Add(sentDate);
}

编辑

问题是关于Collection of string; 不是关于List of string。我们如何处理字符串的集合?

参考

  1. 使用 LINQ 将 List<U> 转换为 List<T>
  2. LINQ 将 DateTime 转换为字符串
  3. 转换集合子集合中的日期时间并在 LINQ to SQL 中使用
  4. 将 Collection<MyType> 转换为 Collection<Object>
4

3 回答 3

3

如果您对以下内容感到满意IEnumerable<string>

IEnumerable<string> logDates = reportBL.GetReportLogs(1, null, null)
                                      .Select(d => d.ToShortDateString());

您可以List<string>通过再打 1 个电话轻松将其转换为

List<string> logDates = reportBL.GetReportLogs(1, null, null)
                                      .Select(d => d.ToShortDateString())
                                      .ToList();

编辑:如果你真的需要你的对象,Collection<T>那么该类有一个构造函数,IList<T>因此以下内容将起作用:

Collection<string> logDates = new Collection(reportBL.GetReportLogs(1, null, null)
                                      .Select(d => d.ToShortDateString())
                                      .ToList());
于 2012-12-03T10:11:28.940 回答
0
var logDates= reportLogs.Select(d => d.ToShortDateString());

您可以选择添加一个.ToList()

于 2012-12-03T10:13:30.127 回答
0
 //Create a collection of DateTime 

DateTime obj =new DateTime(2013,5,5);

List<DateTime>lstOfDateTime = new List<DateTime>()
{
  obj,obj.AddDays(1),obj.AddDays(2)


};

使用 List 类convertAll方法转换为 ShortDateString

//转换为短日期字符串

   Lis<string> toShortDateString =  lstOfDateTime.ConvertAll(p=>p.ToShortDateString());
于 2013-05-16T11:07:13.477 回答