为什么 Blazor 不支持 List.Add?还有什么选择?



为什么我不能在@code部分的Blazor组件中运行以下代码:

List<string> dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");

此代码在控制台应用程序中运行良好。它甚至不会在Blazor中编译。如何在Blazor中将项目添加到此列表?在我的最终解决方案中,我需要通过另一个对象列表forEach来获得填充最终列表所需的值。

您应该发布更多的代码。

试试这个。

@code {
List<string> dinosaurs = new List<string>();
protected async override Task OnInitializedAsync()
{
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
}
}

dinasaurs是组件字段

您可以从一个方法中操作它。

@Brian Parker的回答说明了代码没有编译的原因:您不能在代码的声明部分运行方法。

如果你真的想初始化这些值,那么试试:

List<string> dinosaurs  = new List<string>
{   "Tyrannosaurus",
"Amargasaurus",
"Mamenchisaurus",
"Deinonychus",
"Compsognathus"   };

不管怎样,它看起来更好,对吧?:D

相关内容

  • 没有找到相关文章

最新更新