REFACTOR: Loop can be converted into LINQ-expression.

This commit is contained in:
2017-12-21 07:08:26 +00:00
parent 4d886dae25
commit 5592f147ac
71 changed files with 668 additions and 1131 deletions

View File

@@ -33,6 +33,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using DiscImageChef.CommonTypes;
@@ -1062,12 +1063,7 @@ namespace DiscImageChef.DiscImages
public override byte[] ReadSectors(ulong sectorAddress, uint length)
{
foreach(KeyValuePair<uint, ulong> kvp in offsetmap)
if(sectorAddress >= kvp.Value)
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == kvp.Key)
if(sectorAddress - kvp.Value < cdrdaoTrack.Sectors)
return ReadSectors(sectorAddress - kvp.Value, length, kvp.Key);
foreach(KeyValuePair<uint, ulong> kvp in from kvp in offsetmap where sectorAddress >= kvp.Value from cdrdaoTrack in discimage.Tracks where cdrdaoTrack.Sequence == kvp.Key where sectorAddress - kvp.Value < cdrdaoTrack.Sectors select kvp) return ReadSectors(sectorAddress - kvp.Value, length, kvp.Key);
throw new ArgumentOutOfRangeException(nameof(sectorAddress),
string.Format("Sector address {0} not found", sectorAddress));
@@ -1075,12 +1071,7 @@ namespace DiscImageChef.DiscImages
public override byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag)
{
foreach(KeyValuePair<uint, ulong> kvp in offsetmap)
if(sectorAddress >= kvp.Value)
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == kvp.Key)
if(sectorAddress - kvp.Value < cdrdaoTrack.Sectors)
return ReadSectorsTag(sectorAddress - kvp.Value, length, kvp.Key, tag);
foreach(KeyValuePair<uint, ulong> kvp in from kvp in offsetmap where sectorAddress >= kvp.Value from cdrdaoTrack in discimage.Tracks where cdrdaoTrack.Sequence == kvp.Key where sectorAddress - kvp.Value < cdrdaoTrack.Sectors select kvp) return ReadSectorsTag(sectorAddress - kvp.Value, length, kvp.Key, tag);
throw new ArgumentOutOfRangeException(nameof(sectorAddress),
string.Format("Sector address {0} not found", sectorAddress));
@@ -1092,12 +1083,10 @@ namespace DiscImageChef.DiscImages
_track.Sequence = 0;
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == track)
{
_track = cdrdaoTrack;
break;
}
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks.Where(cdrdaoTrack => cdrdaoTrack.Sequence == track)) {
_track = cdrdaoTrack;
break;
}
if(_track.Sequence == 0)
throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image");
@@ -1188,12 +1177,10 @@ namespace DiscImageChef.DiscImages
_track.Sequence = 0;
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == track)
{
_track = cdrdaoTrack;
break;
}
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks.Where(cdrdaoTrack => cdrdaoTrack.Sequence == track)) {
_track = cdrdaoTrack;
break;
}
if(_track.Sequence == 0)
throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image");
@@ -1372,12 +1359,7 @@ namespace DiscImageChef.DiscImages
public override byte[] ReadSectorsLong(ulong sectorAddress, uint length)
{
foreach(KeyValuePair<uint, ulong> kvp in offsetmap)
if(sectorAddress >= kvp.Value)
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == kvp.Key)
if(sectorAddress - kvp.Value < cdrdaoTrack.Sectors)
return ReadSectorsLong(sectorAddress - kvp.Value, length, kvp.Key);
foreach(KeyValuePair<uint, ulong> kvp in from kvp in offsetmap where sectorAddress >= kvp.Value from cdrdaoTrack in discimage.Tracks where cdrdaoTrack.Sequence == kvp.Key where sectorAddress - kvp.Value < cdrdaoTrack.Sectors select kvp) return ReadSectorsLong(sectorAddress - kvp.Value, length, kvp.Key);
throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found");
}
@@ -1388,12 +1370,10 @@ namespace DiscImageChef.DiscImages
_track.Sequence = 0;
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks)
if(cdrdaoTrack.Sequence == track)
{
_track = cdrdaoTrack;
break;
}
foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks.Where(cdrdaoTrack => cdrdaoTrack.Sequence == track)) {
_track = cdrdaoTrack;
break;
}
if(_track.Sequence == 0)
throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image");