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了。
不过这种解决办法不是很好,最好还是取到系统的格式 然后再转换。
分享到:
相关推荐
2. ArgumentException:当函数的参数值不符合预期时抛出,例如,传递了空字符串或无效数据类型。 3. NullReferenceException:尝试访问一个null对象的成员时抛出,表示对象引用尚未初始化。 4. ...
C#提供了丰富的字符串方法,如`Substring`用于获取子字符串,`IndexOf`和`LastIndexOf`用于查找子串的位置,`Replace`用于替换子串,以及`Trim`和`ToLower`等用于去除空白字符和转换大小写。然而,需要注意的是,...
5. `System.InvalidCastException`:在运行时从一个类型强制转换为不兼容的类型时抛出。 6. `System.NullReferenceException`:当试图使用未初始化的对象时抛出。 7. `System.OutOfMemoryException`:内存分配失败时...
- `System.IndexOutOfRangeException`:数组下标越界时抛出。 - `System.InvalidCastException`:类型转换失败时抛出。 - `System.NullReferenceException`:访问未初始化的对象时抛出。 - `System....
* System.IndexOutOfRangeException 访问数组时,因元素索引超出数组边界而引发的异常。 * System.InvalidCastException 因无效类型转换或显示转换引发的异常。 * System.InvalidOperationException 当方法调用...
系统异常是由.NET Framework定义的,例如NullReferenceException、IndexOutOfRangeException等。用户自定义异常则由开发者根据应用的具体需求创建,以便更好地表示特定的错误情况。 用户自定义异常通常是通过继承...
超出这个范围的索引尝试会导致`System.IndexOutOfRangeException`。 2. **数组越界**:当尝试访问数组中不存在的索引(即小于0或大于等于数组长度的索引)时,就会发生数组越界。这可能是因为编程错误,如循环条件...
"一周学会C#"这个主题表明我们将在较短的时间内深入理解C#的基础知识,以便快速上手。下面,我们将详细探讨C#的核心概念、语法特点以及常见问题。 一、C#基础语法 1. 变量与数据类型:C#支持多种数据类型,包括基本...
4. 异常处理:ArrayList操作会抛出异常,如`IndexOutOfRangeException`和`NullReferenceException`。 三、友元函数重载 友元函数在C++中是非成员函数,但可以访问类的私有和保护成员。在数组类模板的实现中,友元...
- TypeConversionException:类型转换失败,例如字符串转换为整数时无法解析。 - StackOverflowException:递归调用过深导致堆栈溢出,优化递归或使用其他算法。 以上只是C#学习中的冰山一角,深入掌握C#还需要...
3. Object类:作为所有其他类的基类,Object类提供了几个公有成员方法,如`ToString()`、`GetType()`和`GetHashCode()`,但`IndexOf()`并不是Object类的成员方法。 4. 数据类型:C#中的数据类型分为值类型(如int、...
本文分析了.NET数组使用中的注意事项。分享给大家供大家参考。具体分析如下: 1.初始值问题 对于int、double、float等一些值类型... 您可能感兴趣的文章:asp.net 字符串、二进制、编码数组转换函数asp.net 判断数组是
- **举例**:例如,在尝试将一个字符串转换为特定类型(如日期、数字等)时,如果该字符串不符合预期的格式,则会抛出`FormatException`。 #### 三、成员访问异常 在成员访问异常中,主要是指访问程序中的某些成员...
如果你试图访问索引为n或更大的元素,或者负数索引,系统会抛出`System.IndexOutOfRangeException`异常。 在"学生管理系统"这个项目中,问题可能出现在以下几个方面: 1. **循环条件错误**:在遍历数组或集合时,...
- **string str = "":** 表示`str`变量是一个指向空字符串的引用,即指向一个长度为零的字符串对象。 2. **区别:** - **类型差异:** `null`表示没有任何类型的引用,而空字符串`""`是字符串类型的一个实例。 ...
描述中提到的“使用try,catch将字符串由0开始输出”是一个关键点,它指的是在编程过程中利用异常处理机制来处理可能出现的错误,并在C#或Visual C++中打印字符串,尤其是从索引0开始的字符。 在C#中,`try-catch`...