我有一个方法不断地向我发出警告“此处不为空”。
StockHolding stockHoldingFiltered = new StockHolding();
List<StockHolding> stockHoldingsFiltered = new List<StockHolding>();
IReadOnlyList<StockHolding> stockHoldings = this.GetAll();
stockHoldingsFiltered = stockHoldings.Where(stckhold =>
stckhold.PortfolioId.Equals(portfolioId) &&
stckhold.StockSymbol.Equals(stockSymbol)).ToList();
if(stockHoldingsFiltered != null)
stockHoldingFiltered = stockHoldingsFiltered.FirstOrDefault();
return stockHoldingFiltered;
Run Code Online (Sandbox Code Playgroud)
警告:“stockHoldingFiltered”此处不为空。CS8600:将 null 文字或可能的 null 值转换为不可为 null 的类型。
我无法让这个警告消失。有没有人遇到过这个问题并且能够解决这个警告?
我正在使用 Razor 页面。我的模型中有两个不需要的字段:
` public class OrderModel : EntityModel, IValidatableObject
{
public string UserId { get; set; }
public int PortfolioId { get; set; }
public int StockId { get; set; }
public int StockHoldingId { get; set; }
public string StockSymbol { get; set; }
[Required]
[DisplayName("Shares Traded")]
public int QuantityTraded { get; set; }`
Run Code Online (Sandbox Code Playgroud)
这两个字段是 UserId 和 StockSymbol。我有表单的以下部分,其中 UserId 和 StockSymbol 不存在,因此为 null 或为空,这是我故意这样做的:
` <div>
Quantity: <input type="number" min="0" asp-for="@Model.Order.QuantityTraded" />
<input type="hidden" asp-for="@Model.Stock.Id" />
<input type="hidden" …Run Code Online (Sandbox Code Playgroud)