草庐IT

parse_str

全部标签

C# TimeSpan.Parse 无效格式返回不正确的值而不是异常

TimeSpan.Parse("23:00:00")返回23小时。TimeSpan.Parse("24:00:00")返回24天!我意识到我犯了一个错误,允许的小时范围是0-23。但是在几分钟和几秒钟内,如果您尝试解析超出范围的值,您会得到一个异常。如果小时的值超出范围,解析器会错误地假定您指的是天而不是小时。谁能解释一下?这里的这个例子涵盖了这个主题并表明http://msdn.microsoft.com/en-us/magazine/ee309881.aspxTryParse似乎也是如此。尽管文档指出解析应该失败,但我有24天的时间。http://msdn.microsoft.co

c# - int.Parse,输入字符串的格式不正确

我将如何解析一个空字符串?int.Parse(Textbox1.text)给我一个错误:Inputstringwasnotinacorrectformat.System.FormatException:Inputstringwasnotinacorrectformat.如果文本为空(Textbox1.text=''),则会抛出此错误。我了解此错误,但不确定如何更正此错误。 最佳答案 如果您希望在空文本框上默认为0(并在格式不正确的输入上抛出异常):inti=string.IsNullOrEmpty(Textbox1.Text)?0:

C# Decimal.Parse 逗号问题

这是我的问题(对于en-US):Decimal.Parse("1,2,3,4")返回1234,而不是抛出InvalidFormatException。大多数Windows应用程序(Excelen-US)不会删除千位分隔符,并且不会将该值视为十进制数。其他语言也会出现同样的问题(尽管字符不同)。有没有其他的十进制解析库可以解决这个问题?谢谢! 最佳答案 它允许数千个,因为Decimal.Parse(NumberStyles.Number)使用的默认NumberStyles值包括NumberStyles.AllowThousands。如

c# - LINQ to Entities 在尝试解析列以进行不等式比较时无法识别方法 'Int32 Parse(System.String)' 方法

我的页面中有以下代码:varmyVar=Entity.SetName.Where(p=>int.Parse(p.ID)>=start&&int.Parse(p.ID)start和end是int,但是p.ID是string。所以我应该将p.ID转换为int。但是我收到以下错误:LINQtoEntitiesdoesnotrecognizethemethod'Int32Parse(System.String)'method,andthismethodcannotbetranslatedintoastoreexpression.问题出在哪里?? 最佳答案

c# - DateTime.Parse 美国日期格式 C#

可能是一个简单的问题-我正在从多个文件中读取数据。我的问题是,当我从美国文件中读取日期时,我会这样解析它:DateSold=DateTime.Parse(t.Date)这会将字符串t.Date解析为日期格式,但是它将美国日期格式化为欧洲日期,例如如果日期在文件中为03/01/2011,则读取为2011年1月3日,而应为2011年3月1日。有没有办法将其格式化为欧洲日期? 最佳答案 vardt=DateTime.ParseExact(t.Date,"MM/dd/yyyy",CultureInfo.InvariantCulture);D

c# - Int32.Parse 与 Single.Parse - ("1,234") 和 ("1,2,3,4")。为什么 int 和浮点类型以不同方式解析分隔符?

在C#中:这会抛出一个FormatException,这似乎不应该:Int32.Parse("1,234");这不是,这看起来很正常:Single.Parse("1,234");令人惊讶的是,这解析得很好:Single.Parse("1,2,3,4");//Returns1234我的本​​地文化是EN-US,所以,是默认的千位分隔符。主要问题:为什么不一致?另外:为什么Parse("1,2,3,4")有效?它似乎只是在解析之前删除了本地分隔符char的所有实例。我知道在正则表达式检查或类似的东西中会有额外的运行时开销,但是数字文字“1,2,3,4”什么时候不是拼写错误?相关:C#Dec

c# - Int32.Parse() VS Convert.ToInt32()?

intID1=Int32.Parse(myValue.ToString());intID2=Convert.ToInt32(myValue);哪个更好,为什么? 最佳答案 它们完全相同,只是Convert.ToInt32(null)返回0。Convert.ToInt32定义如下:publicstaticintToInt32(Stringvalue){if(value==null)return0;returnInt32.Parse(value,CultureInfo.CurrentCulture);}

c# - 为什么 double.Parse 忽略零的符号?

例如,在:booleq=(1/double.Parse("-0.0"))==(1/-0.0);eq将为false。double.Parse必须经历一些麻烦才能显式忽略零符号,即使不这样做几乎不会导致问题。由于我需要原始表示,因此我必须编写自己的解析函数,该函数处理负零的特殊情况,并使用double.Parse处理其他所有内容。这不是什么大问题,但我真的很想知道他们为什么决定忽略零符号,因为在我看来不这样做并不是坏事。 最佳答案 我不知道为什么本身,但一个潜在的解决方案:如果你在开头看到一个-字符,解析字符串的其余部分并然后否定它。

c# - Convert.ToDecimal(string) 和 Decimal.Parse(string) 之间的区别

Convert.ToDecimal(string)和Decimal.Parse(string)在C#中有什么区别?在什么情况下你会使用一个而不是另一个?它对性能有什么影响?在两者之间进行选择时,我还应该考虑哪些其他因素? 最佳答案 请记住一个重要的区别:Convert.ToDecimal如果给定null字符串,将返回0。decimal.Parse将抛出ArgumentNullException如果您要解析的字符串是null。 关于c#-Convert.ToDecimal(string)和

c# - DateTime.Parse 和 Convert.ToDateTime 之间有什么区别?

有什么区别吗Convert.ToDateTime和DateTime.Parse哪个更快或哪个更安全? 最佳答案 根据answeronanotherforumfromJonSkeet...Convert.ToDateTimeusesDateTime.Parseinternally,withthecurrentculture-unlessyoupassitnull,inwhichcaseitreturnsDateTime.MinValue.如果您不确定字符串是否是有效的DateTime,则两者都不使用,而是使用DateTime.TryP