• Как обрабатывать только занятые элементы массива?

    abberdeen
    @abberdeen
    Некромантия: Почему бы не сохранить индексы не нулевых элементов массива?

    var itemsCount = 100;
    
    // Исходный массив.
    var ArrayTest = new string[itemsCount];
    
    // Количество не нулевых элементов.
    var counter = 0;
    
    // Для хранения индексов не нулевых элементов.
    var ArrayTestIndex = new int[itemsCount];
    
    for (byte i = 0; i < ArrayTest.Length; ++i)
    {
        if (i == 4 || i == 56)  // Очень сложное условие.
        {
            ArrayTest[i] = $"Это не нулевой объект #{i}";
    
            // Считаем количество не нулевых элементов.
            counter++;
    
            // Сохраняем индекс текущего элемента.
            ArrayTestIndex[counter - 1] = i;
        }
        else
        {
            ArrayTest[i] = null; 
        }
    }
    
    // Отрезаем пустые элементы в реестре индексов.
    Array.Resize(ref ArrayTestIndex, counter);
    
    for (byte i = 0; i < ArrayTestIndex.Length; ++i)
    {
        // Индекс не нулевого элемента исходного массива.
        var index = ArrayTestIndex[i];
    
        // Делаем что хотим.
        Console.WriteLine(ArrayTest[index]);
    }
    Ответ написан
    Комментировать
  • Open Weather API Map - Как сделать в Цельсиях?

    abberdeen
    @abberdeen
    Как альтернатива, можно конвертировать, по умолчанию АПИ возвращает значение температуры в кельвинах, поэтому:
    #Конвертируем Кельвин в Цельсию
    float(temperature) - 273.15

    Больше о том как конвертировать на стороне сервера:
    https://openweathermap.org/api/one-call-api#data
    Ответ написан
    Комментировать