mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-02-15 12:45:01 +00:00
style: convert spaces to tabs
This commit is contained in:
@@ -1057,45 +1057,45 @@ namespace ICD.Common.Utils.Extensions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// since S# can't do anonymous types
|
// since S# can't do anonymous types
|
||||||
private struct TryParseStruct<T>
|
private struct TryParseStruct<T>
|
||||||
{
|
{
|
||||||
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);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attempts to parse each value of the enumerable,
|
/// Attempts to parse each value of the enumerable,
|
||||||
/// throwing away the values that don't parse correctly.
|
/// throwing away the values that don't parse correctly.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T">type to parse to</typeparam>
|
/// <typeparam name="T">type to parse to</typeparam>
|
||||||
/// <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");
|
||||||
|
|
||||||
if (tryParseFunc == null)
|
if (tryParseFunc == null)
|
||||||
throw new ArgumentNullException("tryParseFunc");
|
throw new ArgumentNullException("tryParseFunc");
|
||||||
|
|
||||||
return extends.Select(str =>
|
return extends.Select(str =>
|
||||||
{
|
{
|
||||||
T value = default(T);
|
T value = default(T);
|
||||||
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 == true)
|
||||||
.Select(v => v.value);
|
.Select(v => v.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SIMPLSHARP
|
#if SIMPLSHARP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user