diff --git a/SabreTools.Serialization.Test/MetadataSerializationTests.cs b/SabreTools.Serialization.Test/MetadataSerializationTests.cs index 208f1709..5e1f9196 100644 --- a/SabreTools.Serialization.Test/MetadataSerializationTests.cs +++ b/SabreTools.Serialization.Test/MetadataSerializationTests.cs @@ -63,9 +63,9 @@ namespace SabreTools.Serialization.Test var dump = new Models.OpenMSX.Dump[] { - new Models.OpenMSX.Dump { Original = original, Rom = rom }, - new Models.OpenMSX.Dump { Rom = megaRom }, - new Models.OpenMSX.Dump { Rom = sccPlusCart }, + new() { Original = original, Rom = rom }, + new() { Rom = megaRom }, + new() { Rom = sccPlusCart }, }; var software = new Models.OpenMSX.Software diff --git a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs index 5470756b..edc82526 100644 --- a/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/ArchiveDotOrg.Deserializer.cs @@ -19,9 +19,9 @@ namespace SabreTools.Serialization.CrossModel if (machines != null && machines.Any()) { files.File = machines - .Where(m => m != null) - .SelectMany(ConvertFromInternalModel) - .ToArray(); + .Where(m => m != null) + .SelectMany(ConvertFromInternalModel) + .ToArray(); } return files; @@ -38,7 +38,8 @@ namespace SabreTools.Serialization.CrossModel return roms .Where(r => r != null) - .Select(ConvertFromInternalModel).ToArray(); + .Select(ConvertFromInternalModel) + .ToArray(); } /// diff --git a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs index d6c88b5a..f82548c7 100644 --- a/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs +++ b/SabreTools.Serialization/CrossModel/Hashfile.Deserializer.cs @@ -54,19 +54,19 @@ namespace SabreTools.Serialization.CrossModel var hashfileItem = new Models.Hashfile.Hashfile(); if (sfvs.Any()) - hashfileItem.SFV = sfvs.ToArray(); + hashfileItem.SFV = [.. sfvs]; if (md5s.Any()) - hashfileItem.MD5 = md5s.ToArray(); + hashfileItem.MD5 = [.. md5s]; if (sha1s.Any()) - hashfileItem.SHA1 = sha1s.ToArray(); + hashfileItem.SHA1 = [.. sha1s]; if (sha256s.Any()) - hashfileItem.SHA256 = sha256s.ToArray(); + hashfileItem.SHA256 = [.. sha256s]; if (sha384s.Any()) - hashfileItem.SHA384 = sha384s.ToArray(); + hashfileItem.SHA384 = [.. sha384s]; if (sha512s.Any()) - hashfileItem.SHA512 = sha512s.ToArray(); + hashfileItem.SHA512 = [.. sha512s]; if (spamsums.Any()) - hashfileItem.SpamSum = spamsums.ToArray(); + hashfileItem.SpamSum = [.. spamsums]; return hashfileItem; } diff --git a/SabreTools.Serialization/Deserializers/AACS.cs b/SabreTools.Serialization/Deserializers/AACS.cs index e9593746..52a50973 100644 --- a/SabreTools.Serialization/Deserializers/AACS.cs +++ b/SabreTools.Serialization/Deserializers/AACS.cs @@ -59,7 +59,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the records - mediaKeyBlock.Records = records.ToArray(); + mediaKeyBlock.Records = [.. records]; #endregion @@ -164,7 +164,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the subset differences - record.SubsetDifferences = subsetDifferences.ToArray(); + record.SubsetDifferences = [.. subsetDifferences]; // If there's any data left, discard it if (data.Position < initialOffset + length) @@ -205,7 +205,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the media keys - record.MediaKeyData = mediaKeys.ToArray(); + record.MediaKeyData = [.. mediaKeys]; return record; } @@ -243,7 +243,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the offsets - record.Offsets = offsets.ToArray(); + record.Offsets = [.. offsets]; return record; } @@ -322,7 +322,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the signature blocks - record.SignatureBlocks = blocks.ToArray(); + record.SignatureBlocks = [.. blocks]; // If there's any data left, discard it if (data.Position < initialOffset + length) @@ -383,7 +383,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the signature blocks - record.SignatureBlocks = blocks.ToArray(); + record.SignatureBlocks = [.. blocks]; // If there's any data left, discard it if (data.Position < initialOffset + length) diff --git a/SabreTools.Serialization/Deserializers/AttractMode.cs b/SabreTools.Serialization/Deserializers/AttractMode.cs index dda66bf6..9aa5efd9 100644 --- a/SabreTools.Serialization/Deserializers/AttractMode.cs +++ b/SabreTools.Serialization/Deserializers/AttractMode.cs @@ -38,7 +38,7 @@ namespace SabreTools.Serialization.Deserializers if (!reader.ReadHeader() || reader.HeaderValues == null) return null; - dat.Header = reader.HeaderValues.ToArray(); + dat.Header = [.. reader.HeaderValues]; // Loop through the rows and parse out values var rows = new List(); @@ -109,7 +109,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the rows to the Dat and return - dat.Row = rows.ToArray(); + dat.Row = [.. rows]; return dat; } diff --git a/SabreTools.Serialization/Deserializers/CFB.cs b/SabreTools.Serialization/Deserializers/CFB.cs index 25eb7e9a..75e6b933 100644 --- a/SabreTools.Serialization/Deserializers/CFB.cs +++ b/SabreTools.Serialization/Deserializers/CFB.cs @@ -77,7 +77,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the DIFAT sectors table - binary.DIFATSectorNumbers = difatSectors.ToArray(); + binary.DIFATSectorNumbers = [.. difatSectors]; #endregion @@ -115,7 +115,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the FAT sectors table - binary.FATSectorNumbers = fatSectors.ToArray(); + binary.FATSectorNumbers = [.. fatSectors]; #endregion @@ -153,7 +153,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the mini FAT sectors table - binary.MiniFATSectorNumbers = miniFatSectors.ToArray(); + binary.MiniFATSectorNumbers = [.. miniFatSectors]; #endregion @@ -219,7 +219,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the Directory sectors table - binary.DirectoryEntries = directorySectors.ToArray(); + binary.DirectoryEntries = [.. directorySectors]; #endregion diff --git a/SabreTools.Serialization/Deserializers/ClrMamePro.cs b/SabreTools.Serialization/Deserializers/ClrMamePro.cs index b5fd1755..ccdd841f 100644 --- a/SabreTools.Serialization/Deserializers/ClrMamePro.cs +++ b/SabreTools.Serialization/Deserializers/ClrMamePro.cs @@ -752,7 +752,7 @@ namespace SabreTools.Serialization.Deserializers } } - chip.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + chip.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return chip; } @@ -799,7 +799,7 @@ namespace SabreTools.Serialization.Deserializers } } - video.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + video.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return video; } @@ -828,7 +828,7 @@ namespace SabreTools.Serialization.Deserializers } } - sound.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + sound.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return sound; } @@ -872,7 +872,7 @@ namespace SabreTools.Serialization.Deserializers } } - input.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + input.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return input; } @@ -909,7 +909,7 @@ namespace SabreTools.Serialization.Deserializers } dipswitch.Entry = [.. entries]; - dipswitch.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + dipswitch.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return dipswitch; } @@ -950,7 +950,7 @@ namespace SabreTools.Serialization.Deserializers } } - driver.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + driver.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return driver; } diff --git a/SabreTools.Serialization/Deserializers/DosCenter.cs b/SabreTools.Serialization/Deserializers/DosCenter.cs index 25eac1d2..db70bfb8 100644 --- a/SabreTools.Serialization/Deserializers/DosCenter.cs +++ b/SabreTools.Serialization/Deserializers/DosCenter.cs @@ -46,15 +46,15 @@ namespace SabreTools.Serialization.Deserializers { case "doscenter": if (dat.DosCenter != null) - dat.DosCenter.ADDITIONAL_ELEMENTS = headerAdditional.ToArray(); + dat.DosCenter.ADDITIONAL_ELEMENTS = [.. headerAdditional]; headerAdditional.Clear(); break; case "game": if (game != null) { - game.File = files.ToArray(); - game.ADDITIONAL_ELEMENTS = gameAdditional.ToArray(); + game.File = [.. files]; + game.ADDITIONAL_ELEMENTS = [.. gameAdditional]; games.Add(game); } @@ -167,8 +167,8 @@ namespace SabreTools.Serialization.Deserializers } // Add extra pieces and return - dat.Game = games.ToArray(); - dat.ADDITIONAL_ELEMENTS = additional.ToArray(); + dat.Game = [.. games]; + dat.ADDITIONAL_ELEMENTS = [.. additional]; return dat; } @@ -207,7 +207,7 @@ namespace SabreTools.Serialization.Deserializers } } - file.ADDITIONAL_ELEMENTS = itemAdditional.ToArray(); + file.ADDITIONAL_ELEMENTS = [.. itemAdditional]; return file; } } diff --git a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs index 3e12c8a7..61138438 100644 --- a/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Deserializers/EverdriveSMDB.cs @@ -55,7 +55,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the rows to the Dat and return - dat.Row = rows.ToArray(); + dat.Row = [.. rows]; return dat; } } diff --git a/SabreTools.Serialization/Deserializers/Listrom.cs b/SabreTools.Serialization/Deserializers/Listrom.cs index 52c0b72d..5b120a46 100644 --- a/SabreTools.Serialization/Deserializers/Listrom.cs +++ b/SabreTools.Serialization/Deserializers/Listrom.cs @@ -33,7 +33,7 @@ namespace SabreTools.Serialization.Deserializers // If we have a set to process if (set != null) { - set.Row = rows.ToArray(); + set.Row = [.. rows]; sets.Add(set); set = null; rows.Clear(); @@ -226,15 +226,15 @@ namespace SabreTools.Serialization.Deserializers // If we have a set to process if (set != null) { - set.Row = rows.ToArray(); + set.Row = [.. rows]; sets.Add(set); set = null; rows.Clear(); } // Add extra pieces and return - dat.Set = sets.ToArray(); - dat.ADDITIONAL_ELEMENTS = additional.ToArray(); + dat.Set = [.. sets]; + dat.ADDITIONAL_ELEMENTS = [.. additional]; return dat; } } diff --git a/SabreTools.Serialization/Deserializers/MoPaQ.cs b/SabreTools.Serialization/Deserializers/MoPaQ.cs index e68c5d37..1596929f 100644 --- a/SabreTools.Serialization/Deserializers/MoPaQ.cs +++ b/SabreTools.Serialization/Deserializers/MoPaQ.cs @@ -102,7 +102,7 @@ namespace SabreTools.Serialization.Deserializers hashTable.Add(hashEntry); } - archive.HashTable = hashTable.ToArray(); + archive.HashTable = [.. hashTable]; } } @@ -131,7 +131,7 @@ namespace SabreTools.Serialization.Deserializers hashTable.Add(hashEntry); } - archive.HashTable = hashTable.ToArray(); + archive.HashTable = [.. hashTable]; } } @@ -160,7 +160,7 @@ namespace SabreTools.Serialization.Deserializers hashTable.Add(hashEntry); } - archive.HashTable = hashTable.ToArray(); + archive.HashTable = [.. hashTable]; } } @@ -193,7 +193,7 @@ namespace SabreTools.Serialization.Deserializers blockTable.Add(blockEntry); } - archive.BlockTable = blockTable.ToArray(); + archive.BlockTable = [.. blockTable]; } } @@ -222,7 +222,7 @@ namespace SabreTools.Serialization.Deserializers blockTable.Add(blockEntry); } - archive.BlockTable = blockTable.ToArray(); + archive.BlockTable = [.. blockTable]; } } @@ -251,7 +251,7 @@ namespace SabreTools.Serialization.Deserializers blockTable.Add(blockEntry); } - archive.BlockTable = blockTable.ToArray(); + archive.BlockTable = [.. blockTable]; } } @@ -278,7 +278,7 @@ namespace SabreTools.Serialization.Deserializers hiBlockTable.Add(hiBlockEntry); } - archive.HiBlockTable = hiBlockTable.ToArray(); + archive.HiBlockTable = [.. hiBlockTable]; } } diff --git a/SabreTools.Serialization/Deserializers/Nitro.cs b/SabreTools.Serialization/Deserializers/Nitro.cs index 9d43cc81..2397ce9c 100644 --- a/SabreTools.Serialization/Deserializers/Nitro.cs +++ b/SabreTools.Serialization/Deserializers/Nitro.cs @@ -110,7 +110,7 @@ namespace SabreTools.Serialization.Deserializers } // Set the file allocation table - cart.FileAllocationTable = fileAllocationTable.ToArray(); + cart.FileAllocationTable = [.. fileAllocationTable]; #endregion @@ -170,7 +170,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the folder allocation table - nameTable.FolderAllocationTable = folderAllocationTable.ToArray(); + nameTable.FolderAllocationTable = [.. folderAllocationTable]; // Create a variable-length table var nameList = new List(); @@ -184,7 +184,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the name list - nameTable.NameList = nameList.ToArray(); + nameTable.NameList = [.. nameList]; return nameTable; } diff --git a/SabreTools.Serialization/Deserializers/PIC.cs b/SabreTools.Serialization/Deserializers/PIC.cs index 2f46ac30..6ebe1a90 100644 --- a/SabreTools.Serialization/Deserializers/PIC.cs +++ b/SabreTools.Serialization/Deserializers/PIC.cs @@ -43,7 +43,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the units and return - di.Units = diUnits.ToArray(); + di.Units = [.. diUnits]; return di; } diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index 788a51e8..28c85195 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -678,7 +678,7 @@ namespace SabreTools.Serialization.Deserializers _ = data.ReadByteValue(); } - return attributeCertificateTable.ToArray(); + return [.. attributeCertificateTable]; } /// @@ -913,7 +913,7 @@ namespace SabreTools.Serialization.Deserializers break; } - importTable.ImportDirectoryTable = importDirectoryTable.ToArray(); + importTable.ImportDirectoryTable = [.. importDirectoryTable]; // Names for (int i = 0; i < importTable.ImportDirectoryTable.Length; i++) @@ -981,7 +981,7 @@ namespace SabreTools.Serialization.Deserializers break; } - importLookupTables[i] = entryLookupTable.ToArray(); + importLookupTables[i] = [.. entryLookupTable]; } importTable.ImportLookupTables = importLookupTables; @@ -1035,7 +1035,7 @@ namespace SabreTools.Serialization.Deserializers break; } - importAddressTables[i] = addressLookupTable.ToArray(); + importAddressTables[i] = [.. addressLookupTable]; } importTable.ImportAddressTables = importAddressTables; diff --git a/SabreTools.Serialization/Deserializers/RomCenter.cs b/SabreTools.Serialization/Deserializers/RomCenter.cs index af187d37..64eaec83 100644 --- a/SabreTools.Serialization/Deserializers/RomCenter.cs +++ b/SabreTools.Serialization/Deserializers/RomCenter.cs @@ -204,7 +204,7 @@ namespace SabreTools.Serialization.Deserializers dat.Emulator.ADDITIONAL_ELEMENTS = emulatorAdditional.Where(s => s != null).ToArray(); if (dat.Games != null) { - dat.Games.Rom = roms.ToArray(); + dat.Games.Rom = [.. roms]; dat.Games.ADDITIONAL_ELEMENTS = gamesAdditional.Where(s => s != null).Select(s => s).ToArray(); } return dat; diff --git a/SabreTools.Serialization/Deserializers/SeparatedValue.cs b/SabreTools.Serialization/Deserializers/SeparatedValue.cs index af710bc3..c94aa1d0 100644 --- a/SabreTools.Serialization/Deserializers/SeparatedValue.cs +++ b/SabreTools.Serialization/Deserializers/SeparatedValue.cs @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.Deserializers if (!reader.ReadHeader() || reader.HeaderValues == null) return null; - dat.Header = reader.HeaderValues.ToArray(); + dat.Header = [.. reader.HeaderValues]; // Loop through the rows and parse out values var rows = new List(); @@ -171,7 +171,7 @@ namespace SabreTools.Serialization.Deserializers } // Assign the rows to the Dat and return - dat.Row = rows.ToArray(); + dat.Row = [.. rows]; return dat; } diff --git a/SabreTools.Serialization/Deserializers/VPK.cs b/SabreTools.Serialization/Deserializers/VPK.cs index 497444b5..c27c5085 100644 --- a/SabreTools.Serialization/Deserializers/VPK.cs +++ b/SabreTools.Serialization/Deserializers/VPK.cs @@ -195,7 +195,7 @@ namespace SabreTools.Serialization.Deserializers } } - return directoryItems.ToArray(); + return [.. directoryItems]; } /// diff --git a/SabreTools.Serialization/Deserializers/XZP.cs b/SabreTools.Serialization/Deserializers/XZP.cs index 046a2b09..cf2aceaf 100644 --- a/SabreTools.Serialization/Deserializers/XZP.cs +++ b/SabreTools.Serialization/Deserializers/XZP.cs @@ -184,7 +184,7 @@ namespace SabreTools.Serialization.Deserializers private static DirectoryItem ParseDirectoryItem(Stream data) { // TODO: Use marshalling here instead of building - DirectoryItem directoryItem = new DirectoryItem(); + var directoryItem = new DirectoryItem(); directoryItem.FileNameCRC = data.ReadUInt32(); directoryItem.NameOffset = data.ReadUInt32(); diff --git a/SabreTools.Serialization/Extensions.PortableExecutable.cs b/SabreTools.Serialization/Extensions.PortableExecutable.cs index 3036667a..c91d5d01 100644 --- a/SabreTools.Serialization/Extensions.PortableExecutable.cs +++ b/SabreTools.Serialization/Extensions.PortableExecutable.cs @@ -165,7 +165,9 @@ namespace SabreTools.Serialization if (string.IsNullOrEmpty(addD.Version)) offset = originalOffset + 0x10; - addD.Build = data.ReadBytes(ref offset, 4)?.Select(b => (char)b)?.ToArray(); + var buildBytes = data.ReadBytes(ref offset, 4); + var buildChars = Array.ConvertAll(buildBytes, b => (char)b); + addD.Build = buildChars; // Distinguish between v1 and v2 int bytesToRead = 112; // v2 diff --git a/SabreTools.Serialization/Serializers/EverdriveSMDB.cs b/SabreTools.Serialization/Serializers/EverdriveSMDB.cs index 2684fdaf..96185279 100644 --- a/SabreTools.Serialization/Serializers/EverdriveSMDB.cs +++ b/SabreTools.Serialization/Serializers/EverdriveSMDB.cs @@ -57,7 +57,7 @@ namespace SabreTools.Serialization.Serializers if (row.Size != null) rowArray.Add(row.Size); - writer.WriteValues(rowArray.ToArray()); + writer.WriteValues([.. rowArray]); writer.Flush(); } } diff --git a/SabreTools.Serialization/StringBuilderExtensions.cs b/SabreTools.Serialization/StringBuilderExtensions.cs index 77c93a9f..e200a71d 100644 --- a/SabreTools.Serialization/StringBuilderExtensions.cs +++ b/SabreTools.Serialization/StringBuilderExtensions.cs @@ -147,7 +147,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, char[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(c => c.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, c => c.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -156,7 +162,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, short[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(s => s.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, s => s.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -165,7 +177,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, ushort[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(u => u.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, u => u.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -174,7 +192,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, int[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(i => i.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, i => i.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -183,7 +207,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, uint[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(u => u.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, u => u.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -192,7 +222,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, long[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(l => l.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, l => l.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -201,7 +237,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, ulong[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(u => u.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, u => u.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } @@ -210,7 +252,13 @@ namespace SabreTools.Serialization /// public static StringBuilder AppendLine(this StringBuilder sb, Guid[]? value, string prefixString) { - string valueString = (value == null ? "[NULL]" : string.Join(", ", value.Select(g => g.ToString()).ToArray())); + string valueString = "[NULL]"; + if (value != null) + { + var valueArr = Array.ConvertAll(value, g => g.ToString()); + valueString = string.Join(", ", valueArr); + } + return sb.AppendLine($"{prefixString}: {valueString}"); } } diff --git a/SabreTools.Serialization/Wrappers/CFB.cs b/SabreTools.Serialization/Wrappers/CFB.cs index d274c2c2..a5bd1a86 100644 --- a/SabreTools.Serialization/Wrappers/CFB.cs +++ b/SabreTools.Serialization/Wrappers/CFB.cs @@ -158,7 +158,7 @@ namespace SabreTools.Serialization.Wrappers data.AddRange(sectorData); } - return data.ToArray(); + return [.. data]; } /// @@ -245,7 +245,7 @@ namespace SabreTools.Serialization.Wrappers data.AddRange(sectorData); } - return data.ToArray(); + return [.. data]; } /// diff --git a/SabreTools.Serialization/Wrappers/GCF.cs b/SabreTools.Serialization/Wrappers/GCF.cs index 6e86b24d..25fe5f4d 100644 --- a/SabreTools.Serialization/Wrappers/GCF.cs +++ b/SabreTools.Serialization/Wrappers/GCF.cs @@ -89,7 +89,7 @@ namespace SabreTools.Serialization.Wrappers // Build the remaining file info #if NET20 || NET35 - var pathArray = pathParts.ToArray(); + var pathArray = [.. pathParts]; string tempPath = string.Empty; if (pathArray.Length == 0 || pathArray.Length == 1) @@ -108,7 +108,7 @@ namespace SabreTools.Serialization.Wrappers } fileInfo.Path = tempPath; #else - fileInfo.Path = Path.Combine(pathParts.ToArray()); + fileInfo.Path = Path.Combine([.. pathParts]); #endif fileInfo.BlockEntries = [.. blockEntries]; diff --git a/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs b/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs index fcd1c292..ae428b1b 100644 --- a/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs +++ b/SabreTools.Serialization/Wrappers/MicrosoftCabinet.cs @@ -86,13 +86,13 @@ namespace SabreTools.Serialization.Wrappers /// private static uint ChecksumData(byte[] data) { - uint[] C = new uint[4] - { + uint[] C = + [ S(data, 1, data.Length), S(data, 2, data.Length), S(data, 3, data.Length), S(data, 4, data.Length), - }; + ]; return C[0] ^ C[1] ^ C[2] ^ C[3]; } diff --git a/SabreTools.Serialization/Wrappers/PortableExecutable.cs b/SabreTools.Serialization/Wrappers/PortableExecutable.cs index 7dcfa51a..f1d55454 100644 --- a/SabreTools.Serialization/Wrappers/PortableExecutable.cs +++ b/SabreTools.Serialization/Wrappers/PortableExecutable.cs @@ -280,7 +280,7 @@ namespace SabreTools.Serialization.Wrappers // If we're at the end of the file, cache an empty byte array if (endOfSectionData >= endOfFile) { - _overlayData = new byte[0]; + _overlayData = []; return _overlayData; }