Прочитать на английском

Поделиться через


CompressionLevel Перечисление

Определение

Задает значения, показывающие, выделяет ли операция сжатия скорость или размер сжатого файла.

C#
public enum CompressionLevel
Наследование
CompressionLevel

Поля

Имя Значение Описание
Fastest 1

Операция сжатия должна завершиться как можно быстрее, даже если результирующий файл не будет сжат оптимально.

NoCompression 2

Файл не требуется сжимать.

Optimal 0

Операция сжатия должна оптимально сбалансировать скорость сжатия и размер выходных данных.

SmallestSize 3

Операция сжатия должна создавать как можно меньше выходных данных, даже если выполнение операции занимает больше времени.

Комментарии

Операции сжатия обычно предполагают компромисс между скоростью и эффективностью сжатия. Перечисление CompressionLevel используется для указания того, какой фактор является более важным в сценарии разработки: время завершения операции сжатия или размер сжатого файла. Эти значения не соответствуют определенным уровням сжатия; Объект, реализующий сжатие, определяет, как их обрабатывать.

Следующие методы DeflateStreamклассов , GZipStream, ZipArchive, ZipFileи ZipFileExtensions содержат параметр с именем compressionLevel , который позволяет указать уровень сжатия:

Примеры

В следующем примере показано, как задать уровень сжатия при создании ZIP-архива ZipFile с помощью класса .

C#
using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string startPath = @"c:\example\start";
            string zipPath = @"c:\example\result.zip";

            ZipFile.CreateFromDirectory(startPath, zipPath, CompressionLevel.Fastest, true);
        }
    }
}

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0