`
xufei0110
  • 浏览: 110934 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

字符串时间 转换报错 [System.IndexOutOfRangeException: Index was outside the bounds of the

    博客分类:
  • c#
 
阅读更多

System.IndexOutOfRangeException: Index was outside the bounds of the array

 

at System.Globalization.DateTimeFormatInfo.InsertHash(TokenHashValue[] hashTable, String str, TokenType tokenType, Int32 tokenValue)
   at System.Globalization.DateTimeFormatInfo.CreateTokenHashTable()
   at System.Globalization.DateTimeFormatInfo.Tokenize(TokenType TokenMask, TokenType& tokenType, Int32& tokenValue, __DTString& str)
   at System.__DTString.GetRegularToken(TokenType& tokenType, Int32& tokenValue, DateTimeFormatInfo dtfi)
   at System.DateTimeParse.Lex(DS dps, __DTString& str, DateTimeToken& dtok, DateTimeRawInfo& raw, DateTimeResult& result, DateTimeFormatInfo& dtfi)
   at System.DateTimeParse.TryParse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles, DateTimeResult& result)
   at System.DateTimeParse.TryParse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles, DateTime& result)

 

原因很简单: 你把字符串转换成时间时 用的格式,与你用的操作系统里的不一致。

         例如:你的转换格式 是  yyyy-MM-dd  hh:mm:ss, 而你的操作系统里么有这个格式 就会报上面的错误信息。

 

简单的解决办法:  控制面板->区域和语言选项->区域选项

 

           在这里,你可以看到:数字,货币,时间,短日期,长日期 的格式。

 

           上面的问题 显然是你系统里的格式 比 我们要转换的长了。

    例如:系统里是  yyyy-MM-dd tt hh:mm:ss   你的是 yyyy-MM-dd  hh:mm:ss

     

            转换时 数组越界。

 

            所以, 点击“自定义”按钮,在里面的 “时间”页里,把 时间的格式改了,

     选个和你要转换的一样的格式。 我这里就是选个  没有 tt 的。 就ok了。

 

 

不过这种解决办法不是很好,最好还是取到系统的格式 然后再转换。

 

 

分享到:
评论

相关推荐

    System.IndexOutOfRangeException(解决方案).md

    System.IndexOutOfRangeException(解决方案).md

    ASP.NET异常类包

    2. ArgumentException:当函数的参数值不符合预期时抛出,例如,传递了空字符串或无效数据类型。 3. NullReferenceException:尝试访问一个null对象的成员时抛出,表示对象引用尚未初始化。 4. ...

    字符串、字符和正则表达式

    C#提供了丰富的字符串方法,如`Substring`用于获取子字符串,`IndexOf`和`LastIndexOf`用于查找子串的位置,`Replace`用于替换子串,以及`Trim`和`ToLower`等用于去除空白字符和转换大小写。然而,需要注意的是,...

    .NET-第5部分.ppt

    5. `System.InvalidCastException`:在运行时从一个类型强制转换为不兼容的类型时抛出。 6. `System.NullReferenceException`:当试图使用未初始化的对象时抛出。 7. `System.OutOfMemoryException`:内存分配失败时...

    .NET课件--第5部分类型管理.ppt

    - `System.IndexOutOfRangeException`:数组下标越界时抛出。 - `System.InvalidCastException`:类型转换失败时抛出。 - `System.NullReferenceException`:访问未初始化的对象时抛出。 - `System....

    C#异常处理总结及简单实例

    * System.IndexOutOfRangeException 访问数组时,因元素索引超出数组边界而引发的异常。 * System.InvalidCastException 因无效类型转换或显示转换引发的异常。 * System.InvalidOperationException 当方法调用...

    09.你真的懂异常(Exception)吗.pdf

    系统异常是由.NET Framework定义的,例如NullReferenceException、IndexOutOfRangeException等。用户自定义异常则由开发者根据应用的具体需求创建,以便更好地表示特定的错误情况。 用户自定义异常通常是通过继承...

    Array-Out-of-Bound-Example.rar_limit

    超出这个范围的索引尝试会导致`System.IndexOutOfRangeException`。 2. **数组越界**:当尝试访问数组中不存在的索引(即小于0或大于等于数组长度的索引)时,就会发生数组越界。这可能是因为编程错误,如循环条件...

    一周学会C#(信不信油你)

    "一周学会C#"这个主题表明我们将在较短的时间内深入理解C#的基础知识,以便快速上手。下面,我们将详细探讨C#的核心概念、语法特点以及常见问题。 一、C#基础语法 1. 变量与数据类型:C#支持多种数据类型,包括基本...

    数组类模版及调用 arraylist

    4. 异常处理:ArrayList操作会抛出异常,如`IndexOutOfRangeException`和`NullReferenceException`。 三、友元函数重载 友元函数在C++中是非成员函数,但可以访问类的私有和保护成员。在数组类模板的实现中,友元...

    c#知识点自己整理(js,.net,页面控件,及常见错误)

    - TypeConversionException:类型转换失败,例如字符串转换为整数时无法解析。 - StackOverflowException:递归调用过深导致堆栈溢出,优化递归或使用其他算法。 以上只是C#学习中的冰山一角,深入掌握C#还需要...

    c#复习资料

    3. Object类:作为所有其他类的基类,Object类提供了几个公有成员方法,如`ToString()`、`GetType()`和`GetHashCode()`,但`IndexOf()`并不是Object类的成员方法。 4. 数据类型:C#中的数据类型分为值类型(如int、...

    .NET数组使用中的注意事项小结

    本文分析了.NET数组使用中的注意事项。分享给大家供大家参考。具体分析如下: 1.初始值问题 对于int、double、float等一些值类型... 您可能感兴趣的文章:asp.net 字符串、二进制、编码数组转换函数asp.net 判断数组是

Global site tag (gtag.js) - Google Analytics