Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Linq中的Order by,其中一些日期被夸大_Vb.net_Linq - Fatal编程技术网

Vb.net Linq中的Order by,其中一些日期被夸大

Vb.net Linq中的Order by,其中一些日期被夸大,vb.net,linq,Vb.net,Linq,我试图在数据表上使用orderBy,使用linq并根据String列“BirthDate”进行排序 dt.AsEnumerable.OrderBy(函数(x)CDate(x.Item(“BirthDate”).ToString)).CopyToDataTable() 但某些日期值包含连字符和抛出错误 如果我最后还是第一次想要hypen值,我该怎么办。 对于不同的场景,我需要两个答案。 谢谢以下是一个可以应用于您的情况的示例。它确实假设日期字段是字符串,并且该字段是日期 'sample

我试图在
数据表上使用
orderBy
,使用linq并根据
String
列“BirthDate”进行排序

dt.AsEnumerable.OrderBy(函数(x)CDate(x.Item(“BirthDate”).ToString)).CopyToDataTable()
但某些日期值包含连字符和抛出错误

如果我最后还是第一次想要hypen值,我该怎么办。 对于不同的场景,我需要两个答案。
谢谢

以下是一个可以应用于您的情况的示例。它确实假设日期字段是字符串,并且该字段是日期

    'sample data
    Dim d() As String = {"1/1/2018", "1-2-18", "Jan 3, 2018", "4 Jan 2018"}

    Dim ie As IEnumerable

    ie = From s In d
            Select s Order By Date.Parse(s) Descending
编辑: 跳过无效日期的示例

    'sample data
    Dim d() As String = {"1/1/2018", "1-2-18", "", "Jan 3, 2018", "4 Jan 2018"}

    Dim ie As IEnumerable

    'this will skip invalid dates
    ie = From s In d
            Where Date.TryParse(s, Nothing)
            Select s Order By Date.Parse(s) Descending

将日期另存为日期类型;)@Fabio我不能确定日期来自excel,格式是固定的。格式是固定的-然后用固定格式解析日期,使用
DateTime。ParseExact
@Fabio我尝试了CDate,但它不起作用。你能举一个日期的例子吗?如果某些值是hypen或空格,如{“1/1/2018”,“1-2-18”,“-”,“2018年1月3日”,“”,“2018年1月4日”@AnkitKwar-编辑帖子以显示跳过无效日期在本例中,这是有效的->我必须在数据表上再循环一次,并用我知道在排序时最终会出现的某个参考日期替换所有hypen。@AnkitKwar-什么?连字符是有效的日期部分分隔符。你试过我发布的代码吗?我使用的平台G是UIPATH,你的代码在那里不起作用,不知何故语法不受支持。在我的例子中,唯一的分隔符是'/'。所以删除它并重新放置带有REF日期的空白字符串(比如01/01/0001)是可行的。