使用LINQ的TimeSpan到String数组的列表

时间:2014-05-07 21:41:42

标签: c# linq for-loop timespan

我目前有:

List<TimeSpan> times = new List<TimeSpan>();
   // ... setup the thousands of times ...
string[] timeStrings = new string[times.Count];
for (int i = 0; i < times.Count; i++)
   timeStrings[i] = times[i].ToString("mm.ss");

我觉得应该在LINQ中做一个简单的方法,但是我无法找到它。我与times.Select(s => s.ToString("mm.ss").ToArray())关系密切,但它只是第一个元素。

旁注:那里有没有好的LINQ教程?

4 个答案:

答案 0 :(得分:5)

你几乎拥有它:

var timesAsString = times.Select(s => s.ToString("mm.ss")).ToArray()

答案 1 :(得分:2)

var timesAsString = times.Select(t => t.ToString("mm.ss")).ToArray();

您的ToArray电话目前位于字符串上,而非可枚举。

答案 2 :(得分:2)

这基本上是正确的,问题是你的ToArray在字符串上被调用时应该在那之外(基本上是一个错字);

你有什么;

times.Select(s => s.ToString("mm.ss").ToArray())

你应该拥有什么;

times.Select(s => s.ToString("mm.ss")).ToArray();

答案 3 :(得分:0)

times.Select(s => s.ToString("mm.ss")).ToArray();