C# 数据表。选择在win7和winXP中不同的操作

C# 数据表。选择在win7和winXP中不同的操作,c#,.net,windows-7,windows-xp,C#,.net,Windows 7,Windows Xp,这段代码在Win7中非常有效, 但在WinXP中会引发以下错误:(无法对System.DateTime和System.String执行“=”操作 DataRow[] holrows = HOLIDAY.Select(hol.HOLIDAY.HOLIDAY_DATEColumn.ColumnName + " = ' + CurrDate + "'"); 为了解决这个问题,我使用了String.Format,它可以工作,但我不明白为什么 DataRow[] holrows = HOLIDAY.Se

这段代码在Win7中非常有效, 但在WinXP中会引发以下错误:(无法对System.DateTime和System.String执行“=”操作

DataRow[] holrows = HOLIDAY.Select(hol.HOLIDAY.HOLIDAY_DATEColumn.ColumnName + " = ' + CurrDate + "'");
为了解决这个问题,我使用了String.Format,它可以工作,但我不明白为什么

DataRow[] holrows = HOLIDAY.Select(String.Format(hol.HOLIDAY.HOLIDAY_DATEColumn.ColumnName              + " = '{0}' , CurrDate));

有人知道原因吗?

很可能两台电脑上的.net framework版本不同,而不是操作系统本身。更可能的原因是两台机器上的区域设置不同,导致CurrDate自动转换字符串时的日期格式不同()-ed.在Windows中检查您的区域设置。当我以两种方式打印字符串时,忘了说这一点-结果是相同的