Как получить индекс массива int при использовании запроса linq - PullRequest
2 голосов
/ 05 февраля 2012

Я хочу создать выпадающий список с конкретными номерами в MVC

Итак, в моей модели у меня есть свойство:

public IEnumerable<SelectListItem> Quantities { get; set; }

В моем контроллере я создаю свою модель:

Quantities = from s in numbers
             select new SelectListItem { Text = s.ToString()}

numbers - это массив int с 10 числами в нем.

Этот код работает, но проблема в том, что я не могу получить значение (индекс) массива из 's'.

Кто-нибудь знает, как я могу получить это значение?

Ответы [ 2 ]

3 голосов
/ 05 февраля 2012

Это невозможно с выражениями LINQ.Вы можете использовать следующее:

Quantities = numbers.Select((s, index) => new SelectListItem 
{ 
    Value = index.ToString(), 
    Text = s.ToString()
);
0 голосов
/ 05 февраля 2012

Вы можете использовать синтаксис метода вместо синтаксиса запроса:

var quantities = numbers.Select((x,i) => {...});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...