REFACTOR: Loop can be converted into LINQ-expression.

This commit is contained in:
2017-12-21 07:08:26 +00:00
parent 4ce965e6cf
commit 1b81cd63e8
9 changed files with 44 additions and 79 deletions

View File

@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo // Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/ // ****************************************************************************/
using System.Linq;
namespace DiscImageChef namespace DiscImageChef
{ {
public static partial class ArrayHelpers public static partial class ArrayHelpers
@@ -38,18 +40,14 @@ namespace DiscImageChef
{ {
if(array == null) return true; if(array == null) return true;
foreach(byte b in array) if(b != 0x00 && b != 0x20) return false; return array.All(b => b == 0x00 || b == 0x20);
return true;
} }
public static bool ArrayIsNullOrEmpty(byte[] array) public static bool ArrayIsNullOrEmpty(byte[] array)
{ {
if(array == null) return true; if(array == null) return true;
foreach(byte b in array) if(b != 0x00) return false; return array.All(b => b == 0x00);
return true;
} }
} }
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(byte item) public bool Contains(byte item)
{ {
foreach(Tuple<byte, byte> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(byte item, out byte start) public bool GetStart(byte item, out byte start)
{ {
start = 0; start = 0;
foreach(Tuple<byte, byte> extent in backend) foreach(Tuple<byte, byte> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(int item) public bool Contains(int item)
{ {
foreach(Tuple<int, int> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(int item, out int start) public bool GetStart(int item, out int start)
{ {
start = 0; start = 0;
foreach(Tuple<int, int> extent in backend) foreach(Tuple<int, int> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(long item) public bool Contains(long item)
{ {
foreach(Tuple<long, long> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(long item, out long start) public bool GetStart(long item, out long start)
{ {
start = 0; start = 0;
foreach(Tuple<long, long> extent in backend) foreach(Tuple<long, long> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(sbyte item) public bool Contains(sbyte item)
{ {
foreach(Tuple<sbyte, sbyte> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(sbyte item, out sbyte start) public bool GetStart(sbyte item, out sbyte start)
{ {
start = 0; start = 0;
foreach(Tuple<sbyte, sbyte> extent in backend) foreach(Tuple<sbyte, sbyte> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(short item) public bool Contains(short item)
{ {
foreach(Tuple<short, short> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(short item, out short start) public bool GetStart(short item, out short start)
{ {
start = 0; start = 0;
foreach(Tuple<short, short> extent in backend) foreach(Tuple<short, short> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(uint item) public bool Contains(uint item)
{ {
foreach(Tuple<uint, uint> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(uint item, out uint start) public bool GetStart(uint item, out uint start)
{ {
start = 0; start = 0;
foreach(Tuple<uint, uint> extent in backend) foreach(Tuple<uint, uint> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,9 +125,7 @@ namespace Extents
public bool Contains(ulong item) public bool Contains(ulong item)
{ {
foreach(Tuple<ulong, ulong> extent in backend) if(item >= extent.Item1 && item <= extent.Item2) return true; return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
return false;
} }
public void Clear() public void Clear()
@@ -196,9 +194,7 @@ namespace Extents
public bool GetStart(ulong item, out ulong start) public bool GetStart(ulong item, out ulong start)
{ {
start = 0; start = 0;
foreach(Tuple<ulong, ulong> extent in backend) foreach(Tuple<ulong, ulong> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }

View File

@@ -125,10 +125,7 @@ namespace Extents
public bool Contains(ushort item) public bool Contains(ushort item)
{ {
foreach(Tuple<ushort, ushort> extent in backend) return backend.Any(extent => item >= extent.Item1 && item <= extent.Item2);
if(item >= extent.Item1 && item <= extent.Item2) return true;
return false;
} }
public void Clear() public void Clear()
@@ -197,9 +194,7 @@ namespace Extents
public bool GetStart(ushort item, out ushort start) public bool GetStart(ushort item, out ushort start)
{ {
start = 0; start = 0;
foreach(Tuple<ushort, ushort> extent in backend) foreach(Tuple<ushort, ushort> extent in backend.Where(extent => item >= extent.Item1 && item <= extent.Item2)) {
if(item >= extent.Item1 && item <= extent.Item2)
{
start = extent.Item1; start = extent.Item1;
return true; return true;
} }