c# - 解析字符串时出现奇怪的错误?

标签 c# .net datetime windows-phone

当我尝试像这样解析日期时:

DateTime t1 = DateTime.ParseExact("August 11, 2013, 11:00:00 PM", "MMMM dd, yyyy, hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);

它工作正常,但是当我这样做时:

string s ="‎August ‎11, ‎2013, ‏‎11:00:00 PM";
DateTime t = DateTime.ParseExact(s, "MMMM dd, yyyy, hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);

我收到这个错误:

An exception of type 'System.FormatException' occurred in mscorlib.ni.dll but was not handled in user code

最佳答案

因为你的字符串

string s = "‎August ‎11, ‎2013, ‏‎11:00:00 PM";

包括0x200e(8206) character8 月 的开始和结束。你可以很容易地看到它

var chars = s.ToCharArray();

好像是复制+粘贴的问题

您可以通过以下方式删除这些字符:

var newstr = new string(s.Where(c => c <128).ToArray())

关于c# - 解析字符串时出现奇怪的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298208/

相关文章:

delphi - StrToDate 不使用我的 FormatSetting

c# - 如何设置串行特殊字符?

javascript - 保存动态创建的 jQuery 连接可排序列表的顺序

c# - 如何中断 Console.ReadLine

Python pandas - pd.melt 一个带有日期时间索引的数据框导致 NaN

python - 为什么 pandas 格式化我的日期时间 1999-12-02 19 :30:00+00:00

c# - 无法将 Json 数组发布到 Web 核心 API

c# - LINQ Where(Array.Contains) 中的速度改进

python - 有没有办法使用 ADO.Net 连接到数据 block ?

.net - 有没有办法以编程方式提取接口(interface)?