Как сохранить значения метода GET в массиве и затем получить доступ к указанным c значениям - PullRequest
0 голосов
/ 10 июля 2020

Мне нужно получить доступ ко всем элементам, которые есть в моей базе данных, и проанализировать каждый из них. Я думал, что могу сохранить все значения в массив, а затем получить к ним доступ:

     var ocorrenciasLista = GetOcorrencias().ToArray();     
     for (int i = 0; i <= ocorrenciasLista.Length; i++)
            {
                var latitude2 = ocorrenciasLista[i][2];
                
            }

EDIT:

Вот мой GetOcorrencias ()

    [HttpGet]
    public IEnumerable<Ocorrencias> GetOcorrencias()
    {


        
        int duracao = 2;
        DateTime dataDuracao = DateTime.Now.Subtract(new TimeSpan(0, duracao, 0, 0));

        var ocorrencias = _context.Ocorrencias
                    .Where(e => (e.Estado == Ocorrencias.EstadoOcorrencia.emAvaliacao && e.DataOcorrencia >= dataDuracao) ||
                            e.Estado == Ocorrencias.EstadoOcorrencia.aceite);
            
        return ocorrencias;
    }

Я получаю сообщение об ошибке «Невозможно применить индексирование с помощью [] к выражению типа Ocorrencias». Окорренсиас - моя основная модель. В приведенном выше коде я хочу получить доступ к широте каждого элемента в моей базе данных. Как мне это сделать?

1 Ответ

0 голосов
/ 10 июля 2020

Если вы хотите, чтобы ваш метод возвращал IEnumerable, вам нужно сделать что-то вроде этого:

Скажите, что это ваш класс:

public class SomeClass
{
    public string Name { get; set; }
}

И измените тип возвращаемого значения вашего GetOcorrencias() к следующему. У меня есть пример метода:

static IEnumerable<SomeClass[]> GetOcorrencias()
{
    var data = new SomeClass[2][];
    data[0] = new SomeClass[1] { new SomeClass() { Name = "A" } };
    data[1] = new SomeClass[1] { new SomeClass() { Name = "B" } };
    return data;
}

Теперь вы можете получить к нему доступ как к зубчатому массиву в основном:

var data = GetOcorrencias().ToArray();

for (int i = 0; i < data.Length; i++)
{
    var datai = data[i][0];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...