在创建实例时绝对奇怪的行为

时间:2014-07-23 11:24:07

标签: c#

我将向您展示两个屏幕截图,我感兴趣的是它为什么......它做了什么。

在第一个屏幕截图中,您可以看到我能够创建名为List<SelectListItem>的{​​{1}}实例,但在此之后的一行,抛出异常并且我无法创建实例同名列表s

在第二个屏幕截图中,您可以看到,如果我声明列表上面的条件,我可以在同一位置创建名为selectListItem的{​​{1}}实例。

请,它造成了什么?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

我猜想稍后在闭包中引用selectListItem会发生一些奇怪的事情。

您应该能够做到这样的事情:

var selectListItem = ServiceProductModel
    .GetAll()
    .Select(spm => new SelectListItem {
        Value = spm.Id.ToString(),
        Text = string.Format(@"{0}", spm.Name)
    })
    .ToList();