Sim*_*on. 0 c# asp.net type-conversion asp.net-mvc-4
String bookedDays = month.BookedDays.ToString();
String[] days = bookedDays.Split(',');
String[] DayNumber = day.Split('/');
int DaySpecific = Convert.ToInt16(DayNumber[0]);
Run Code Online (Sandbox Code Playgroud)
从我的月份数据库中,我提取一个字符串,其中包含由','分隔的所有预订天数(日期时间格式):例如{01/01/13 00:00:00, 02/01/13 00:00:00, etc}.
然后我用'/'参数分隔了这一天,所以在DayNumber [0]中我得到了天数的值:例如
{01/01/13} becomes Daynumber[0] = '01';
DayNumber[1] = '01' DayNumber[2] = '13'
Run Code Online (Sandbox Code Playgroud)
现在我无法弄清楚的部分:使用Convert.ToInt32从DayNumber [0]中分配DaySpecific的int值,抛出"System.FormatException:输入字符串格式不正确"
DayNumber [0]的值为"01",但转换方法不会使用起始值为0的数字.
我已经尝试过DayNumber [0] .ToString("N0"),但它总是会给出一个错误,即过载不正确.
有谁知道我怎么能解决这个问题?
(我的Apolagese,如果有一个非常简单的答案)
编辑:感谢您的回复,但尚无解决方案.我的示例中{01/01/13}中的{}纯粹用于表示数据集.
我包括了一个try catch,这是例外:
mscorlib.dll中出现类型为"System.FormatException"的第一次机会异常System.FormatException:输入字符串的格式不正确.System.Int16.Parse的System.Number.ParseInt32(String s,NumberStyles样式,NumberFormatInfo信息)处的System.Number.StringToNumber(String str,NumberStyles options,NumberBuffer&number,NumberFormatInfo info,Boolean parseDecimal)(String s,NumberStyles样式) ,在Number.Int16.Parse(String s)处的System.Int16.Parse(String s),在c:\ Users\simon\Documents\Visual Studio 2012\Projects\railway\railway\Controllers\MonthController.cs中的railway.Controllers.MonthController.Index()处,:NumberFormatInfo info):第47行'iisexpress.exe'(已管理(v4.0.30319)):已加载'C:\ Users\simon\AppData\Local\Temp\Temporary ASP.NET Files\root\37a427fe\5dbf5c62\App_Web_lt1aaagr.dll',已加载符号.程序'[2276] iisexpress.exe:Managed(v4.0.30319)'已退出,代码为0(0x0).