C# 格式化时间字符串的排序数组
我正在尝试整理我的arraylist 数组列表由时间格式的数据组成 数组:C# 格式化时间字符串的排序数组,c#,arrays,sorting,C#,Arrays,Sorting,我正在尝试整理我的arraylist 数组列表由时间格式的数据组成 数组: 9:15 AM, 10:20 AM 我该怎么分类呢 我从以下代码中得到的结果是: 10:20 AM 9:15 AM 下面是我的代码: String timeText = readFileTime.ReadLine(); timeSplit = timeText.Split(new char[] { '^' }); Array.Sort(timeSplit); foreach (var sortedA
9:15 AM, 10:20 AM
我该怎么分类呢
我从以下代码中得到的结果是:
10:20 AM
9:15 AM
下面是我的代码:
String timeText = readFileTime.ReadLine();
timeSplit = timeText.Split(new char[] { '^' });
Array.Sort(timeSplit);
foreach (var sortedArray in timeSplit)
{
sortedTimeListBox.Items.Add(sortedArray);
}
是的,因为您只是拆分一个字符串,所以您只是对字符串数组进行排序(意思是
1
位于9
之前,它不关心小数点)。要获得所需的排序,首先需要将其转换为DateTime
,如下所示:
timeSplit = timeText
.Split(new char[] { '^' });
.Select(x => new { Time = DateTime.Parse(x), String = x })
.OrderBy(x => x.Time)
.Select(x => x.String)
.ToArray();
在这里,我们所做的是:
DateTime
的字符串DateTime
属性排序选择返回原始字符串的
<代码> TimeSPLIT 现在包含了按需要排序的字符串。
您可能需要考虑将这些值转换为适当的DATE时间结构,并使用DATETMEM.比较。有关示例,请参见。Array.Sort(timeSplit, delegate(string first, string second)
{
return DateTime.Compare(Convert.ToDateTime(first), Convert.ToDateTime(second));
});