Код IT Загрузка примера кода…

C# main.cs
public class MemoryLeakExample
{
    private static readonly List<byte[]> _cache = new List<byte[]>();
    
    public void AddToCache()
    {
        // Добавляем данные в кэш, но никогда не удаляем старые
        _cache.Add(new byte[10 * 1024 * 1024]); // 10 МБ
    }
    
    // Правильный вариант с ограничением размера кэша
    public void AddToCacheWithLimit()
    {
        _cache.Add(new byte[10 * 1024 * 1024]);
        if (_cache.Count > 100)
        {
            _cache.RemoveRange(0, _cache.Count - 100); // Оставляем последние 100 элементов
        }
    }
}
public class MemoryLeakExample
{
    private static readonly List<byte[]> _cache = new List<byte[]>();
    
    public void AddToCache()
    {
        // Добавляем данные в кэш, но никогда не удаляем старые
        _cache.Add(new byte[10 * 1024 * 1024]); // 10 МБ
    }
    
    // Правильный вариант с ограничением размера кэша
    public void AddToCacheWithLimit()
    {
        _cache.Add(new byte[10 * 1024 * 1024]);
        if (_cache.Count > 100)
        {
            _cache.RemoveRange(0, _cache.Count - 100); // Оставляем последние 100 элементов
        }
    }
}