mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-02-16 13:15:07 +00:00
Tidying
This commit is contained in:
@@ -1062,12 +1062,14 @@ namespace ICD.Common.Utils.Extensions
|
|||||||
{
|
{
|
||||||
public readonly T value;
|
public readonly T value;
|
||||||
public readonly bool isParsed;
|
public readonly bool isParsed;
|
||||||
|
|
||||||
public TryParseStruct(T value, bool isParsed)
|
public TryParseStruct(T value, bool isParsed)
|
||||||
{
|
{
|
||||||
this.value = value;
|
this.value = value;
|
||||||
this.isParsed = isParsed;
|
this.isParsed = isParsed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// since Func<...,T> can't specify `out` parameters
|
// since Func<...,T> can't specify `out` parameters
|
||||||
public delegate bool TryParseDelegate<T>(string input, out T output);
|
public delegate bool TryParseDelegate<T>(string input, out T output);
|
||||||
|
|
||||||
@@ -1079,7 +1081,8 @@ namespace ICD.Common.Utils.Extensions
|
|||||||
/// <param name="extends">enumerable of strings to parse</param>
|
/// <param name="extends">enumerable of strings to parse</param>
|
||||||
/// <param name="tryParseFunc">TryParse function for given type</param>
|
/// <param name="tryParseFunc">TryParse function for given type</param>
|
||||||
/// <returns>enumerable of successfully parsed values</returns>
|
/// <returns>enumerable of successfully parsed values</returns>
|
||||||
public static IEnumerable<T> TryParseSkipFailures<T>(this IEnumerable<string> extends, TryParseDelegate<T> tryParseFunc)
|
public static IEnumerable<T> TryParseSkipFailures<T>(this IEnumerable<string> extends,
|
||||||
|
TryParseDelegate<T> tryParseFunc)
|
||||||
{
|
{
|
||||||
if (extends == null)
|
if (extends == null)
|
||||||
throw new ArgumentNullException("extends");
|
throw new ArgumentNullException("extends");
|
||||||
@@ -1088,13 +1091,13 @@ namespace ICD.Common.Utils.Extensions
|
|||||||
throw new ArgumentNullException("tryParseFunc");
|
throw new ArgumentNullException("tryParseFunc");
|
||||||
|
|
||||||
return extends.Select(str =>
|
return extends.Select(str =>
|
||||||
{
|
{
|
||||||
T value = default(T);
|
T value;
|
||||||
bool isParsed = tryParseFunc(str, out value);
|
bool isParsed = tryParseFunc(str, out value);
|
||||||
return new TryParseStruct<T>(value, isParsed);
|
return new TryParseStruct<T>(value, isParsed);
|
||||||
})
|
})
|
||||||
.Where(v => v.isParsed == true)
|
.Where(v => v.isParsed)
|
||||||
.Select(v => v.value);
|
.Select(v => v.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SIMPLSHARP
|
#if SIMPLSHARP
|
||||||
|
|||||||
Reference in New Issue
Block a user