diff --git a/anbs_cp/Classes/FileExtensions.cs b/anbs_cp/Classes/FileExtensions.cs index 2988845..2ac496c 100644 --- a/anbs_cp/Classes/FileExtensions.cs +++ b/anbs_cp/Classes/FileExtensions.cs @@ -18,10 +18,14 @@ public static class FileExtension /// /// Полное имя и путь к файлу /// Размер файла в байтах - public static long FileSize(string fileName) - { - FileInfo fileInfo = new (fileName); + public static long FileSize (string fileName) => + new FileInfo(fileName).Length; - return fileInfo.Length; - } + /// + /// Получает хэш файла + /// + /// Имя файла + /// Хэш файла в формате + public static FileHash GetHash (string fileName) => + new(fileName); } \ No newline at end of file diff --git a/anbs_cp/Classes/FileHash.cs b/anbs_cp/Classes/FileHash.cs index 72b09da..741ec3a 100644 --- a/anbs_cp/Classes/FileHash.cs +++ b/anbs_cp/Classes/FileHash.cs @@ -24,10 +24,7 @@ public sealed class FileHash /// /// Простой конструктор /// - public FileHash () - { - Hash = new byte[] { }; - } + public FileHash () => Hash = []; /// /// Хэш файла @@ -49,4 +46,13 @@ public sealed class FileHash UTF8Encoding utf8 = new(); Hash = utf8.GetBytes(value); } + + /// + /// Сравнивает текущий хэш с хэшем и выдаёт , если совпадают, + /// и , если не совпадают. + /// + /// Другой хэш + /// , если совпадают, и , если не совпадают + public bool IsEqual (FileHash otherHash) => + string.Equals(ToString(), otherHash.ToString(), StringComparison.OrdinalIgnoreCase); } \ No newline at end of file diff --git a/anbs_cp/anbs_cp.csproj b/anbs_cp/anbs_cp.csproj index cc438cb..08ec26e 100644 --- a/anbs_cp/anbs_cp.csproj +++ b/anbs_cp/anbs_cp.csproj @@ -2,7 +2,7 @@ net8.0 - 2023.1213.0 + 2023.1217.0 Александр Бабаев Набор компонентов ANB Software Библиотека полезных методов языка C#