Show / Hide Table of Contents

Struct Opt<T>

Type for immutable options.

Implements
IOpt<T>
IOpt
IEquatable<IOpt>
IList<T>
ICollection<T>
IReadOnlyList<T>
IReadOnlyCollection<T>
IEnumerable<T>
IEnumerable
Inherited Members
Object.Equals(Object, Object)
Object.GetType()
Object.ReferenceEquals(Object, Object)
Namespace: Hgk.Zero.Options
Assembly: Hgk.Zero.Options.dll
Syntax
public struct Opt<T> : IOpt<T>, IOpt, IEquatable<IOpt>, IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
Name Description
T

Contained type for options of this type.

Properties

| Improve this Doc View Source

HasValue

Gets whether this option contains a value.

Declaration
public bool HasValue { get; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

Value

Gets the value contained by this option.

Declaration
public T Value { get; }
Property Value
Type Description
T
Exceptions
Type Condition
InvalidOperationException

This option is empty.

Methods

| Improve this Doc View Source

Equals(Object)

Gets whether this option is equal to another object.

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
Object obj

An object to compare this option to.

Returns
Type Description
Boolean

true if this option equals obj; otherwise, false.

Overrides
ValueType.Equals(Object)
Remarks

This option is equal to another object if:

  • the other object is not null and
  • the other object is an instance of IOpt and
  • either
    • this option is empty and the other option is also empty, or
    • this option is full, the other option is full, and the contained values of this option and the other option are equal (by Equals(Object, Object)).

If obj is an ISingleResultOpt that represents a result of more than one element, this returns false (rather than throwing an exception).

| Improve this Doc View Source

GetHashCode()

Gets a hash code for this object based on its contents.

Declaration
public override int GetHashCode()
Returns
Type Description
Int32

A hash code for this option.

Overrides
ValueType.GetHashCode()
| Improve this Doc View Source

ToString()

Gets a string representation for this option.

Declaration
public override string ToString()
Returns
Type Description
String

A string representation for this option.

Overrides
ValueType.ToString()
| Improve this Doc View Source

TryGetValue(out T)

Gets the value contained by this option, if it exists.

Declaration
public bool TryGetValue(out T value)
Parameters
Type Name Description
T value

When this method returns, is set to the value contained by this option, if any, or the default value of T, otherwise.

Returns
Type Description
Boolean

true, if source contains a value; otherwise, false.

Explicit Interface Implementations

| Improve this Doc View Source

IOpt.ResolveUntypedOption<TResult>(Func<Boolean, Object, TResult>)

Declaration
TResult IOpt.ResolveUntypedOption<TResult>(Func<bool, object, TResult> resultSelector)
Parameters
Type Name Description
Func<Boolean, Object, TResult> resultSelector
Returns
Type Description
TResult
Type Parameters
Name Description
TResult
| Improve this Doc View Source

IOpt<T>.ResolveOption<TResult>(Func<Boolean, T, TResult>)

Declaration
TResult IOpt<T>.ResolveOption<TResult>(Func<bool, T, TResult> resultSelector)
Parameters
Type Name Description
Func<Boolean, T, TResult> resultSelector
Returns
Type Description
TResult
Type Parameters
Name Description
TResult
| Improve this Doc View Source

ICollection<T>.Add(T)

Declaration
void ICollection<T>.Add(T item)
Parameters
Type Name Description
T item
| Improve this Doc View Source

ICollection<T>.Clear()

Declaration
void ICollection<T>.Clear()
| Improve this Doc View Source

ICollection<T>.Contains(T)

Declaration
bool ICollection<T>.Contains(T item)
Parameters
Type Name Description
T item
Returns
Type Description
Boolean
| Improve this Doc View Source

ICollection<T>.CopyTo(T[], Int32)

Declaration
void ICollection<T>.CopyTo(T[] array, int arrayIndex)
Parameters
Type Name Description
T[] array
Int32 arrayIndex
| Improve this Doc View Source

ICollection<T>.Count

Declaration
int ICollection<T>.Count { get; }
Returns
Type Description
Int32
| Improve this Doc View Source

ICollection<T>.IsReadOnly

Declaration
bool ICollection<T>.IsReadOnly { get; }
Returns
Type Description
Boolean
| Improve this Doc View Source

ICollection<T>.Remove(T)

Declaration
bool ICollection<T>.Remove(T item)
Parameters
Type Name Description
T item
Returns
Type Description
Boolean
| Improve this Doc View Source

IEnumerable<T>.GetEnumerator()

Declaration
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
Type Description
IEnumerator<T>
| Improve this Doc View Source

IList<T>.IndexOf(T)

Declaration
int IList<T>.IndexOf(T item)
Parameters
Type Name Description
T item
Returns
Type Description
Int32
| Improve this Doc View Source

IList<T>.Insert(Int32, T)

Declaration
void IList<T>.Insert(int index, T item)
Parameters
Type Name Description
Int32 index
T item
| Improve this Doc View Source

IList<T>.Item[Int32]

Declaration
T IList<T>.this[int index] { get; set; }
Parameters
Type Name Description
Int32 index
Returns
Type Description
T
| Improve this Doc View Source

IList<T>.RemoveAt(Int32)

Declaration
void IList<T>.RemoveAt(int index)
Parameters
Type Name Description
Int32 index
| Improve this Doc View Source

IReadOnlyCollection<T>.Count

Declaration
int IReadOnlyCollection<T>.Count { get; }
Returns
Type Description
Int32
| Improve this Doc View Source

IReadOnlyList<T>.Item[Int32]

Declaration
T IReadOnlyList<T>.this[int index] { get; }
Parameters
Type Name Description
Int32 index
Returns
Type Description
T
| Improve this Doc View Source

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type Description
IEnumerator
| Improve this Doc View Source

IEquatable<IOpt>.Equals(IOpt)

Declaration
bool IEquatable<IOpt>.Equals(IOpt other)
Parameters
Type Name Description
IOpt other
Returns
Type Description
Boolean

Implements

IOpt<T>
IOpt
System.IEquatable<T>
System.Collections.Generic.IList<T>
System.Collections.Generic.ICollection<T>
System.Collections.Generic.IReadOnlyList<T>
System.Collections.Generic.IReadOnlyCollection<T>
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable

Extension Methods

EnumerableToString.ConcatToString<T>(IEnumerable<T>)
EnumerableToString.JoinToString<T>(IEnumerable<T>, String)
EnumerableToOpt.WhereElementAt<TSource>(IEnumerable<TSource>, Int32)
EnumerableToOpt.WhereFirst<TSource>(IEnumerable<TSource>)
EnumerableToOpt.WhereFirst<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)
EnumerableToOpt.WhereLast<TSource>(IEnumerable<TSource>)
EnumerableToOpt.WhereLast<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)
EnumerableToOpt.WhereSingle<TSource>(IEnumerable<TSource>)
EnumerableToOpt.WhereSingle<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)
LinqToOpt.AsIOpt<TSource>(IOpt<TSource>)
LinqToOpt.Contains<TSource>(IOpt<TSource>, TSource)
LinqToOpt.Contains<TSource>(IOpt<TSource>, TSource, IEqualityComparer<TSource>)
LinqToOpt.Distinct<TSource>(IOpt<TSource>)
LinqToOpt.Distinct<TSource>(IOpt<TSource>, IEqualityComparer<TSource>)
LinqToOpt.Reverse<TSource>(IOpt<TSource>)
LinqToOpt.ToArray<TSource>(IOpt<TSource>)
LinqToOpt.ToFixed<TSource>(IOpt<TSource>)
LinqToOpt.ToFixed(IOpt)
LinqToOpt.ToList<TSource>(IOpt<TSource>)
LinqToOpt.TryGetValue<TSource>(IOpt<TSource>, out TSource)
LinqToOpt.Aggregate<TSource>(IOpt<TSource>, Func<TSource, TSource, TSource>)
LinqToOpt.Aggregate<TSource, TAccumulate>(IOpt<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)
LinqToOpt.Aggregate<TSource, TAccumulate, TResult>(IOpt<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)
LinqToOpt.All<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.Any<TSource>(IOpt<TSource>)
LinqToOpt.Any<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.Count<TSource>(IOpt<TSource>)
LinqToOpt.Count<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.LongCount<TSource>(IOpt<TSource>)
LinqToOpt.LongCount<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Int32>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int32>>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Int64>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int64>>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Single>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Nullable<Single>>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Double>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Nullable<Double>>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Decimal>)
LinqToOpt.Average<TSource>(IOpt<TSource>, Func<TSource, Nullable<Decimal>>)
LinqToOpt.Cast<TResult>(IOpt)
LinqToOpt.OfType<TResult>(IOpt)
LinqToOpt.Except<TSource>(IOpt<TSource>, IEnumerable<TSource>)
LinqToOpt.Except<TSource>(IOpt<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
LinqToOpt.Intersect<TSource>(IOpt<TSource>, IEnumerable<TSource>)
LinqToOpt.Intersect<TSource>(IOpt<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
LinqToOpt.GroupBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>)
LinqToOpt.GroupBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)
LinqToOpt.GroupBy<TSource, TKey, TElement>(IOpt<TSource>, Func<TSource, TKey>, Func<TSource, TElement>)
LinqToOpt.GroupBy<TSource, TKey, TElement>(IOpt<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)
LinqToOpt.GroupBy<TSource, TKey, TResult>(IOpt<TSource>, Func<TSource, TKey>, Func<TKey, IOpt<TSource>, TResult>)
LinqToOpt.GroupBy<TSource, TKey, TResult>(IOpt<TSource>, Func<TSource, TKey>, Func<TKey, IOpt<TSource>, TResult>, IEqualityComparer<TKey>)
LinqToOpt.GroupBy<TSource, TKey, TElement, TResult>(IOpt<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IOpt<TElement>, TResult>)
LinqToOpt.GroupBy<TSource, TKey, TElement, TResult>(IOpt<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IOpt<TElement>, TResult>, IEqualityComparer<TKey>)
LinqToOpt.GroupJoin<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)
LinqToOpt.GroupJoin<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
LinqToOpt.GroupJoin<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IOpt<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IOpt<TInner>, TResult>)
LinqToOpt.GroupJoin<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IOpt<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IOpt<TInner>, TResult>, IEqualityComparer<TKey>)
LinqToOpt.DefaultIfEmpty<TSource>(IOpt<TSource>)
LinqToOpt.DefaultIfEmpty<TSource>(IOpt<TSource>, TSource)
LinqToOpt.ReplaceIfEmpty<TSource>(IOpt<TSource>, Func<IOpt<TSource>>)
LinqToOpt.ReplaceIfEmpty<TSource>(IOpt<TSource>, IOpt<TSource>)
LinqToOpt.Join<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IOpt<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)
LinqToOpt.Join<TOuter, TInner, TKey, TResult>(IOpt<TOuter>, IOpt<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)
LinqToOpt.Match<TSource, TResult>(IOpt<TSource>, Func<TResult>, Func<TSource, TResult>)
LinqToOpt.MatchOpt<TSource, TResult>(IOpt<TSource>, Func<Opt<TResult>>, Func<TSource, Opt<TResult>>)
LinqToOpt.Max<TSource>(IOpt<TSource>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Int32>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int32>>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Int64>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int64>>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Single>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Nullable<Single>>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Double>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Nullable<Double>>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Decimal>)
LinqToOpt.Max<TSource>(IOpt<TSource>, Func<TSource, Nullable<Decimal>>)
LinqToOpt.Max<TSource, TResult>(IOpt<TSource>, Func<TSource, TResult>)
LinqToOpt.Min<TSource>(IOpt<TSource>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Int32>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int32>>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Int64>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int64>>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Single>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Nullable<Single>>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Double>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Nullable<Double>>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Decimal>)
LinqToOpt.Min<TSource>(IOpt<TSource>, Func<TSource, Nullable<Decimal>>)
LinqToOpt.Min<TSource, TResult>(IOpt<TSource>, Func<TSource, TResult>)
LinqToOpt.OrderBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>)
LinqToOpt.OrderBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>, IComparer<TKey>)
LinqToOpt.OrderByDescending<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>)
LinqToOpt.OrderByDescending<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>, IComparer<TKey>)
LinqToOpt.ThenBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>)
LinqToOpt.ThenBy<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>, IComparer<TKey>)
LinqToOpt.ThenByDescending<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>)
LinqToOpt.ThenByDescending<TSource, TKey>(IOpt<TSource>, Func<TSource, TKey>, IComparer<TKey>)
LinqToOpt.Select<TSource, TResult>(IOpt<TSource>, Func<TSource, TResult>)
LinqToOpt.Select<TSource, TResult>(IOpt<TSource>, Func<TSource, Int32, TResult>)
LinqToOpt.SelectMany<TSource, TResult>(IOpt<TSource>, Func<TSource, IOpt<TResult>>)
LinqToOpt.SelectMany<TSource, TResult>(IOpt<TSource>, Func<TSource, Int32, IOpt<TResult>>)
LinqToOpt.SelectMany<TSource, TCollection, TResult>(IOpt<TSource>, Func<TSource, IOpt<TCollection>>, Func<TSource, TCollection, TResult>)
LinqToOpt.SelectMany<TSource, TCollection, TResult>(IOpt<TSource>, Func<TSource, Int32, IOpt<TCollection>>, Func<TSource, TCollection, TResult>)
LinqToOpt.SequenceEqual<TSource>(IOpt<TSource>, IEnumerable<TSource>)
LinqToOpt.SequenceEqual<TSource>(IOpt<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)
LinqToOpt.ElementAt<TSource>(IOpt<TSource>, Int32)
LinqToOpt.ElementAtOrDefault<TSource>(IOpt<TSource>, Int32)
LinqToOpt.ElementAtOrDefault<TSource>(IOpt<TSource>, Int32, TSource)
LinqToOpt.First<TSource>(IOpt<TSource>)
LinqToOpt.First<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.FirstOrDefault<TSource>(IOpt<TSource>)
LinqToOpt.FirstOrDefault<TSource>(IOpt<TSource>, TSource)
LinqToOpt.FirstOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.FirstOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>, TSource)
LinqToOpt.Last<TSource>(IOpt<TSource>)
LinqToOpt.Last<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.LastOrDefault<TSource>(IOpt<TSource>)
LinqToOpt.LastOrDefault<TSource>(IOpt<TSource>, TSource)
LinqToOpt.LastOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.LastOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>, TSource)
LinqToOpt.Single<TSource>(IOpt<TSource>)
LinqToOpt.Single<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.SingleOrDefault<TSource>(IOpt<TSource>)
LinqToOpt.SingleOrDefault<TSource>(IOpt<TSource>, TSource)
LinqToOpt.SingleOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.SingleOrDefault<TSource>(IOpt<TSource>, Func<TSource, Boolean>, TSource)
LinqToOpt.Skip<TSource>(IOpt<TSource>, Int32)
LinqToOpt.SkipWhile<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.SkipWhile<TSource>(IOpt<TSource>, Func<TSource, Int32, Boolean>)
LinqToOpt.Take<TSource>(IOpt<TSource>, Int32)
LinqToOpt.TakeWhile<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.TakeWhile<TSource>(IOpt<TSource>, Func<TSource, Int32, Boolean>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Int32>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int32>>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Int64>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Nullable<Int64>>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Single>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Nullable<Single>>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Double>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Nullable<Double>>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Decimal>)
LinqToOpt.Sum<TSource>(IOpt<TSource>, Func<TSource, Nullable<Decimal>>)
LinqToOpt.Where<TSource>(IOpt<TSource>, Func<TSource, Boolean>)
LinqToOpt.Where<TSource>(IOpt<TSource>, Func<TSource, Int32, Boolean>)
LinqToOpt.WhereNotNull<TSource>(IOpt<TSource>)
LinqToOpt.Zip<TFirst, TSecond, TResult>(IOpt<TFirst>, IEnumerable<TSecond>, Func<TFirst, TSecond, TResult>)
  • Improve this Doc
  • View Source
Back to top Copyright © 2018-2019 Peter S. May
Generated by DocFX