C#4.0-3个值对(可能更多)。基于值排序

C#4.0-3个值对(可能更多)。基于值排序,c#,.net,arrays,logic,sortedlist,C#,.net,Arrays,Logic,Sortedlist,这是一个很难用短语表达的搜索查询,我没有运气。我想得越多,这更像是一个逻辑问题,而不是语法问题。然而,我是C#(8年php)的新手,目前正在构建我的第三个windows窗体应用程序,因此可能有一种方法可以实现我想要的功能 我所做的是将用户给定的日期格式作为单个字符串读取,并将其分成若干部分分配给一个数组,或者从我在搜索关联数组(可能是一个分类列表或字典)时看到的内容 e、 g 我之所以尝试这样做,是因为使用Regex.Match从文件中提取真实日期时使用了相同的日期格式。我想使用这些新值来知道在

这是一个很难用短语表达的搜索查询,我没有运气。我想得越多,这更像是一个逻辑问题,而不是语法问题。然而,我是C#(8年php)的新手,目前正在构建我的第三个windows窗体应用程序,因此可能有一种方法可以实现我想要的功能

我所做的是将用户给定的日期格式作为单个字符串读取,并将其分成若干部分分配给一个数组,或者从我在搜索关联数组(可能是一个分类列表或字典)时看到的内容

e、 g

我之所以尝试这样做,是因为使用Regex.Match从文件中提取真实日期时使用了相同的日期格式。我想使用这些新值来知道在日期的每个部分使用匹配的哪个组元素


如果能帮我解决这个问题,我将不胜感激。

只需使用DateTime.TryParse。您可以向它传递一个格式化字符串,它将为您完成所有工作。

我尝试了这个方法,它可以工作:

DateTime dt;
if (DateTime.TryParseExact("20110223", "yyyyMMdd", null, 0, out dt))
    Console.WriteLine(dt);

为什么不直接使用Date类来获取年、月和日的值呢?你看过了吗?Regex,如果你想解析datetime,请使用datetime parser.MK_Dev-我现在正在研究这个线程。谢谢。David B和Anon-我可能错了,但是DateTime似乎不能很好地使用上面的示例格式“yyyyMMdd”(例如20110223),因此正则表达式崩溃了。如果你知道如何使用DateTime,请告诉我。谢谢。但其中一种日期格式是“yyyyMMdd”(例如20110223)。对于任何此类日期,此方法似乎返回1/01/0001 12:00:00 a.m。
// resultArray["yearPos"] = 1
// resultArray["monthPos"] = 2
// resultArray["dayPos"] = 3
DateTime dt;
if (DateTime.TryParseExact("20110223", "yyyyMMdd", null, 0, out dt))
    Console.WriteLine(dt);