C# 新表达式在mvc控制器中的类型后需要()、[]或{}

C# 新表达式在mvc控制器中的类型后需要()、[]或{},c#,asp.net-mvc,C#,Asp.net Mvc,这很奇怪,但我在控制器操作方法的下一行上得到了一个错误,一个新的表达式需要在type之后使用()、[]或{} int[] Numbers = { 1, 2, 3, 4, 5}; or I have also tried var Numbers = new int[]{1,2,3,4,5}; 也尝试了一些其他的方法来让这条线工作,但它不会 除了控制器动作方法之外,这工作得非常好。对这种奇怪的行为有什么想法吗 我正在使用VS2013快速版MVC版本5和.net framework 4.5 下面是

这很奇怪,但我在控制器操作方法的下一行上得到了一个错误
,一个新的表达式需要在type
之后使用()、[]或{}

int[] Numbers = { 1, 2, 3, 4, 5}; or I have also tried
var Numbers = new int[]{1,2,3,4,5}; 
也尝试了一些其他的方法来让这条线工作,但它不会

除了控制器动作方法之外,这工作得非常好。对这种奇怪的行为有什么想法吗

我正在使用VS2013快速版MVC版本5和.net framework 4.5

下面是完整的动作方法

 public ActionResult Index()
    {
        var LstMainModel=new List<MainModel>           
        var ids = new int[]{1,2,3,4,5};            
        foreach (var id in ids)
        {
            LstMainModel.Add(new MainModel{Id=id,planeModel=GetPlanes()});
        }

        return View(LstMainModel);
    }
public ActionResult Index()
{
var LstMainModel=新列表
var id=newint[]{1,2,3,4,5};
foreach(id中的变量id)
{
添加(新的MainModel{Id=Id,planeModel=GetPlanes()});
}
返回视图(LSTMAIN模型);
}

它应该按照您拥有的方式工作,但如果没有

尝试如下:(声明数组的大小)


如果它仍然不起作用,则问题在于您的
列表出现错误

var LstMainModel=新列表

应该是

var LstMainModel=new List()

下面是一个工作示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static int Main(string[] args)
        {
            var results = TestMethod();
            foreach (var item in results)
            {
                Console.WriteLine(item.Id);
                Console.WriteLine(item.planeModel);
            }
            Console.ReadKey();
            return 0;
        }

        static List<MainModel> TestMethod()
        {
            var LstMainModel = new List<MainModel>();    
            var ids = new int[] { 1, 2, 3, 4, 5 };
            foreach (var id in ids)
            {
                LstMainModel.Add(new MainModel { Id = id, planeModel = "TestPlane" });
            }

            return LstMainModel;
        }


    }

    class MainModel
    {
        public int Id { get; set; }
        public string planeModel { get; set; }
    }

}

你能检查一下吗,你的项目中没有名为
Numbers
的类吗?这里还有其他的东西在起作用。声明是正确的,我尝试过更改变量名,没有任何带数字的类。你能展示包含这个的整个方法吗?也许这可以帮助你吗?我提到过,除了控制器中的action方法之外,它在其他任何地方都能工作
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static int Main(string[] args)
        {
            var results = TestMethod();
            foreach (var item in results)
            {
                Console.WriteLine(item.Id);
                Console.WriteLine(item.planeModel);
            }
            Console.ReadKey();
            return 0;
        }

        static List<MainModel> TestMethod()
        {
            var LstMainModel = new List<MainModel>();    
            var ids = new int[] { 1, 2, 3, 4, 5 };
            foreach (var id in ids)
            {
                LstMainModel.Add(new MainModel { Id = id, planeModel = "TestPlane" });
            }

            return LstMainModel;
        }


    }

    class MainModel
    {
        public int Id { get; set; }
        public string planeModel { get; set; }
    }

}
static List<MainModel> TestMethod()
{
    var ids = new int[] { 1, 2, 3, 4, 5 };
    return ids.Select(id => new MainModel {Id = id, planeModel = GetPlanes()}).ToList();
}

static String GetPlanes()
{
    return "PlanesTest";
}