为什么我不能'隐式转换'int?& # 39; int # 39;

本文关键字:int 转换 不能 为什么 | 更新日期: 2023-09-27 18:19:14

我正试图将表的Id转换为int变量,但它不能正常工作。

@foreach (var item in Model){
    int i = item.Ticket_Priority; //    actualy trying to get item.Ticket_Priority ID in integer butit is not working}

错误信息是" Cannot implicit convert 'int? "'到'int'。存在显式转换(您是否缺少强制类型转换?)

感谢您的支持

为什么我不能'隐式转换'int?& # 39; int # 39;

你可以使用??接线员:

int? i = 2;
int i2 = i ?? 0; // ?? checks if i is null

错误信息提供了您需要的信息。

item.Ticket_PriorityNullable<int>int?,而不仅仅是int。您可以使用.HasValue.Value属性来确定是否有可用的值,然后使用它。

 // assuming you want a default value of 0
 int i = item.HasValue ? item.Value : 0;