簡體   English   中英

從字符串 yyyyMMddHHmmss 到類型 integer 的轉換無效

[英]Conversion from string yyyyMMddHHmmss to type integer is not valid

我正在嘗試編寫一個通過 MVC web 服務將其值傳遞給前端的系統。

在它運行時,我一直遇到這個錯誤,我無法克服它; 我已經將它隔離到這行代碼中,但我看不出它有什么問題。 這是代碼行、時間戳和錯誤:

代碼 時間戳 錯誤

我不能透露太多代碼,因為其中一些是敏感的,但這是通用的。 如果您需要更多信息,我會盡力提供。

因為paymentRequest.TimeStamp的類型是Date? (即Nullable(Of DateTime) )那么你需要paymentRequest.TimeStamp.Value來獲取它的值,所以代碼片段應該是

.Timestamp = paymentRequest.TimeStamp.Value.ToString("yyyyMMddHHmmss") 

雖然它沒有記錄( 據我所知),但您也可以使用CDateDate? 因此: .Timestamp = CDate(paymentRequest.TimeStamp).ToString("yyyyMMddHHmmss")

您可能希望避免使用未記錄的功能,因為它可能會在以后的版本中更改而無需通知。

兩種方式都將失敗,錯誤為

System.InvalidOperationException: 'Nullable object 必須有一個值。'

如果paymentRequest.TimeStamp.HasValueFalse


也許令人困惑的是, Nullable.ToString 方法的文檔說

ToString 屬性返回通過調用由 Value 屬性返回的 object 的 ToString 屬性產生的字符串。

但是,應該注意的是,這只適用於沒有arguments 的 ToString() 方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM