假设我有
class foo
{
public List<string> Values {get;set;}=New()
}
和组件内
foo? bar;
protected override async Task OnInitializedAsync()
{
bar= await _ds.Get<foo>();
}
所以现在在剃刀里有没有其他/更好的方法进行nullcheck?
@if (bar!= null)@foreach(var x in bar.Values)
{
<MudSelectItem Value="x">@x</MudSelectItem>
}
最好是
@foreachWhenNotnull(var x in bar.Values)...
我知道我可以像一个组件那样做,但也许这是最简单的方法?
感谢并问候
最好检查它是否像您自己的代码中的null
,因为根据它是否为null,您可以决定显示错误或消息。但是,如果您只是想避免出现System.NullReferenceException
错误,您可以执行以下
使用空条件运算符
@foreach (var x in bar?.Values ?? new())
{
<MudSelectItem Value="x">@x</MudSelectItem>
}
你也可以这样做:
foo bar;
protected override async Task OnInitializedAsync()
{
bar = (await _ds.Get<foo>()) ?? new();
}