From fba01ce718539ea8c8cfc4662e357c9aa2824661 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 21 Dec 2017 07:08:26 +0000 Subject: [PATCH] REFACTOR: Loop can be converted into LINQ-expression. --- Floppy/Apple2.cs | 14 ++++---------- Floppy/AppleSony.cs | 14 ++++---------- PCMCIA/CIS.cs | 3 ++- SCSI/Modes/2A.cs | 15 +++++++-------- SCSI/Modes/Mode10.cs | 3 ++- SCSI/Modes/Mode6.cs | 3 ++- 6 files changed, 21 insertions(+), 31 deletions(-) diff --git a/Floppy/Apple2.cs b/Floppy/Apple2.cs index 6acf681..0d1cb24 100644 --- a/Floppy/Apple2.cs +++ b/Floppy/Apple2.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Runtime.InteropServices; using DiscImageChef.Console; @@ -563,11 +564,8 @@ namespace DiscImageChef.Decoders.Floppy MemoryStream raw = new MemoryStream(); raw.Write(track.gap, 0, track.gap.Length); - foreach(RawSector sector in track.sectors) - { - byte[] rawSector = MarshalSector(sector); - raw.Write(rawSector, 0, rawSector.Length); - } + foreach(byte[] rawSector in track.sectors.Select(sector => MarshalSector(sector))) + { raw.Write(rawSector, 0, rawSector.Length); } return raw.ToArray(); } @@ -607,11 +605,7 @@ namespace DiscImageChef.Decoders.Floppy if(disk == null) return null; MemoryStream raw = new MemoryStream(); - foreach(RawTrack track in disk) - { - byte[] rawTrack = MarshalTrack(track); - raw.Write(rawTrack, 0, rawTrack.Length); - } + foreach(byte[] rawTrack in disk.Select(track => MarshalTrack(track))) { raw.Write(rawTrack, 0, rawTrack.Length); } return raw.ToArray(); } diff --git a/Floppy/AppleSony.cs b/Floppy/AppleSony.cs index cb9d495..e2ac29f 100644 --- a/Floppy/AppleSony.cs +++ b/Floppy/AppleSony.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Runtime.InteropServices; namespace DiscImageChef.Decoders.Floppy @@ -446,11 +447,8 @@ namespace DiscImageChef.Decoders.Floppy MemoryStream raw = new MemoryStream(); raw.Write(track.gap, 0, track.gap.Length); - foreach(RawSector sector in track.sectors) - { - byte[] rawSector = MarshalSector(sector); - raw.Write(rawSector, 0, rawSector.Length); - } + foreach(byte[] rawSector in track.sectors.Select(sector => MarshalSector(sector))) + { raw.Write(rawSector, 0, rawSector.Length); } return raw.ToArray(); } @@ -490,11 +488,7 @@ namespace DiscImageChef.Decoders.Floppy if(disk == null) return null; MemoryStream raw = new MemoryStream(); - foreach(RawTrack track in disk) - { - byte[] rawTrack = MarshalTrack(track); - raw.Write(rawTrack, 0, rawTrack.Length); - } + foreach(byte[] rawTrack in disk.Select(track => MarshalTrack(track))) { raw.Write(rawTrack, 0, rawTrack.Length); } return raw.ToArray(); } diff --git a/PCMCIA/CIS.cs b/PCMCIA/CIS.cs index db96994..8b74c68 100644 --- a/PCMCIA/CIS.cs +++ b/PCMCIA/CIS.cs @@ -32,6 +32,7 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace DiscImageChef.Decoders.PCMCIA @@ -278,7 +279,7 @@ namespace DiscImageChef.Decoders.PCMCIA else { sb.AppendLine("\tAdditional information:"); - foreach(string info in tuple.AdditionalInformation) if(!string.IsNullOrEmpty(info)) sb.AppendFormat("\t\t{0}", info).AppendLine(); + foreach(string info in tuple.AdditionalInformation.Where(info => !string.IsNullOrEmpty(info))) sb.AppendFormat("\t\t{0}", info).AppendLine(); } return sb.ToString(); diff --git a/SCSI/Modes/2A.cs b/SCSI/Modes/2A.cs index 98316ee..bbed1b6 100644 --- a/SCSI/Modes/2A.cs +++ b/SCSI/Modes/2A.cs @@ -30,6 +30,7 @@ // Copyright © 2011-2018 Natalia Portillo // ****************************************************************************/ +using System.Linq; using System.Text; namespace DiscImageChef.Decoders.SCSI @@ -413,14 +414,12 @@ namespace DiscImageChef.Decoders.SCSI } if(page.WriteSpeedPerformanceDescriptors != null) - foreach(ModePage_2A_WriteDescriptor descriptor in page.WriteSpeedPerformanceDescriptors) - if(descriptor.WriteSpeed > 0) - if(descriptor.RotationControl == 0) - sb.AppendFormat("\tDrive supports writing at {0} Kbyte/sec. in CLV mode", - descriptor.WriteSpeed).AppendLine(); - else if(descriptor.RotationControl == 1) - sb.AppendFormat("\tDrive supports writing at is {0} Kbyte/sec. in pure CAV mode", - descriptor.WriteSpeed).AppendLine(); + foreach(ModePage_2A_WriteDescriptor descriptor in page.WriteSpeedPerformanceDescriptors.Where(descriptor => descriptor.WriteSpeed > 0)) if(descriptor.RotationControl == 0) + sb.AppendFormat("\tDrive supports writing at {0} Kbyte/sec. in CLV mode", + descriptor.WriteSpeed).AppendLine(); + else if(descriptor.RotationControl == 1) + sb.AppendFormat("\tDrive supports writing at is {0} Kbyte/sec. in pure CAV mode", + descriptor.WriteSpeed).AppendLine(); if(page.TestWrite) sb.AppendLine("\tDrive supports test writing"); diff --git a/SCSI/Modes/Mode10.cs b/SCSI/Modes/Mode10.cs index 7202acd..d2d255a 100644 --- a/SCSI/Modes/Mode10.cs +++ b/SCSI/Modes/Mode10.cs @@ -32,6 +32,7 @@ using System; using System.Collections.Generic; +using System.Linq; namespace DiscImageChef.Decoders.SCSI { @@ -275,7 +276,7 @@ namespace DiscImageChef.Decoders.SCSI public static byte[] EncodeMode10(DecodedMode mode, PeripheralDeviceTypes deviceType) { int modeSize = 0; - if(mode.Pages != null) foreach(ModePage page in mode.Pages) modeSize += page.PageResponse.Length; + if(mode.Pages != null) modeSize += mode.Pages.Sum(page => page.PageResponse.Length); byte[] hdr = EncodeModeHeader10(mode.Header, deviceType); modeSize += hdr.Length; diff --git a/SCSI/Modes/Mode6.cs b/SCSI/Modes/Mode6.cs index fc691e0..c0d0bb7 100644 --- a/SCSI/Modes/Mode6.cs +++ b/SCSI/Modes/Mode6.cs @@ -32,6 +32,7 @@ using System; using System.Collections.Generic; +using System.Linq; namespace DiscImageChef.Decoders.SCSI { @@ -205,7 +206,7 @@ namespace DiscImageChef.Decoders.SCSI public static byte[] EncodeMode6(DecodedMode mode, PeripheralDeviceTypes deviceType) { int modeSize = 0; - if(mode.Pages != null) foreach(ModePage page in mode.Pages) modeSize += page.PageResponse.Length; + if(mode.Pages != null) modeSize += mode.Pages.Sum(page => page.PageResponse.Length); byte[] hdr = EncodeModeHeader6(mode.Header, deviceType); modeSize += hdr.Length;