jjzjj

tryparse

全部标签

c# - Int32.TryParse() 失败时返回零 - 成功还是失败?

我从msdn上读到关于Int32.TryParse()Whenthismethodreturns,containsthe32-bitsignedintegervalueequivalenttothenumbercontainedins,iftheconversionsucceeded,orzeroiftheconversionfailed.但是,如果传递的字符串本身是“0”的字符串表示形式,会发生什么情况。所以TryParse将返回零。我怎么知道它是成功还是失败? 最佳答案 不,TryParse返回true或false以指示成功。o

c# - int.TryParse 语法糖

int.TryPrase很棒,但只有一个问题……它至少需要两行代码才能使用:intintValue;stringstringValue="123";int.TryParse(stringValue,outintValue);....当然我可以这样做:stringstringValue="123";intintValue=Convert.ToInt32(string.IsNullOrWhiteSpace(stringValue)?0:stringValue);只需一行代码。我如何施展魔法让int.TryParse使用单行代码,或者是否还有第三种选择?谢谢!Bezden最好地回答了这个问题

c# - 优雅的 TryParse

我觉得每次我使用TryParse都会导致代码有点难看。我主要是这样使用的:intvalue;if(!int.TryParse(someStringValue,outvalue)){value=0;}有没有更优雅的解析所有基本数据类型的解决方案,具体来说,有没有办法在一行中进行故障安全解析?通过故障安全,如果解析无一异常(exception)地失败,我假设设置默认值。顺便说一句,这是针对即使解析失败我也必须执行某些操作的情况,只需使用默认值即可。 最佳答案 这是有效的,如果您喜欢单行代码,您可能会更喜欢它:inti=int.TryPa

c# - Enum.TryParse 对任何数值返回 true

我遇到了使用Enum.TryParse时未预料到的行为。如果我有一个枚举:publicenumMyEnum{ValueA,ValueB,ValueC}然后我将数值(作为字符串)传递给Enum.TryParse,例如:MyEnumoutputEnum;boolresult=Enum.TryParse("1234",outoutputEnum);尽管字符串“1234”不是一个可能的值,结果将返回为真,我的outputEnum的值为1234。有什么办法可以避免这种行为?我正在尝试编写一个将任意字符串输入作为枚举处理的函数,这在我的错误输入检测中引发了一些麻烦。 最

c# - yyyy-dd-MM 格式日期的 DateTime.TryParse 问题

我有以下字符串格式的日期"2011-29-0112:00am"。现在我尝试使用以下代码将其转换为日期时间格式:DateTime.TryParse(dateTime,outdt);但我总是得到dt作为{1/1/000112:00:00AM},你能告诉我为什么吗?以及如何将该字符串转换为日期。编辑:我刚刚看到每个人都提到使用格式参数。我现在要提到我不能使用格式参数,因为我有一些设置来选择用户想要的自定义日期格式,并且基于该用户能够通过jQuery日期选择器自动获取该格式的文本框中的日期。 最佳答案 这应该根据您的示例“2011-29-0

c# - int.TryParse 是如何工作的

我一直在寻找int.TryParse方法的实现,它实际上是如何工作的,但我还没有找到。我必须知道,关于一个字符串,它是否是一个数值,但我现在不想转换它。所以我只需要int.TryParse的bool结果。所以问题是:有没有函数可以只提供bool结果,和我想知道int.TryParse是如何工作的(是否有一个try...catch内部或遍历输入字符字符串)? 最佳答案 如果只需要bool结果,直接使用返回值即可,忽略out参数。boolsuccessfullyParsed=int.TryParse(str,outignoreMe);i

c# - Double.TryParse 或 Convert.ToDouble - 哪个更快更安全?

我的应用程序使用VSTO读取Excel文件并将读取的数据添加到StringDictionary.它仅添加具有几位数字的数据(10001000,21000,34-逗号在俄罗斯标准中是分隔符)。有什么方法可以更好地检查当前字符串是否为合适的数字?objectdata,stringkey;//datahadreadtry{Convert.ToDouble(regionData,CultureInfo.CurrentCulture);dic.Add(key,regionData.ToString());}catch(InvalidCastException){//isnotanumber}或d

c# - 如何将 int.TryParse 与可为空的 int 一起使用?

这个问题在这里已经有了答案:Howtoparseastringintoanullableint(22个答案)关闭7年前。我正在尝试使用TryParse来查找字符串值是否为整数。如果该值为整数,则跳过foreach循环。这是我的代码。stringstrValue="42"if(int.TryParse(trim(strValue),intVal))==false{break;}intVal是一个int?(nullableINT)类型的变量。如何将Tryparse与可为空的int一起使用?

c# - TryParse with out var 参数

C#6.0中的一项新功能允许在TryParse方法中声明变量。我有一些代码:strings="Hello";if(int.TryParse(s,outvarresult)){}但是我收到编译错误:我做错了什么?P.S.:项目设置中设置了C#6.0和.NETframework4.6。 最佳答案 AnewfeatureinC#6.0allowstodeclarevariableinsideTryParsemethod.声明表达式从C#6.0中删除,并没有在最终版本中发布。你目前不能这样做。ThereisaproposalforitonG

c# - 如何将 DateTime.TryParse 与 Nullable<DateTime> 一起使用?

我想使用DateTime.TryParse方法将字符串的日期时间值放入Nullable。但是当我尝试这个时:DateTime?d;boolsuccess=DateTime.TryParse("somedatetext",out(DateTime)d);编译器告诉我'out'argumentisnotclassifiedasavariable不确定我需要在这里做什么。我也试过:out(DateTime)d.Value这也行不通。有什么想法吗? 最佳答案 正如Jason所说,您可以创建一个正确类型的变量并传递它。您可能希望将其封装在您自