diff --git a/csharp/Platform.Ranges.Tests/Platform.Ranges.Tests.csproj b/csharp/Platform.Ranges.Tests/Platform.Ranges.Tests.csproj
index f008b88..d3dc36e 100644
--- a/csharp/Platform.Ranges.Tests/Platform.Ranges.Tests.csproj
+++ b/csharp/Platform.Ranges.Tests/Platform.Ranges.Tests.csproj
@@ -28,5 +28,5 @@
-
+
diff --git a/csharp/Platform.Ranges/Range[T].cs b/csharp/Platform.Ranges/Range[T].cs
index 6a13fd2..8ab7a8a 100644
--- a/csharp/Platform.Ranges/Range[T].cs
+++ b/csharp/Platform.Ranges/Range[T].cs
@@ -10,8 +10,8 @@ namespace Platform.Ranges
/// Представляет диапазон между минимальным и максимальным значениями.
///
///
- /// Based on the question at StackOverflow.
- /// Основано на вопросе в StackOverflow.
+ /// Based on the question at StackOverflow.
+ /// Основано на вопросе в StackOverflow.
///
public struct Range : IEquatable>
{
@@ -19,22 +19,25 @@ public struct Range : IEquatable>
private static readonly EqualityComparer _equalityComparer = EqualityComparer.Default;
///
- /// Returns minimum value of the range.
- /// Возвращает минимальное значение диапазона.
+ /// A read-only field that represents a minimum value of the range.
+ /// Поле для чтения, которое представляет минимальное значение диапазона.
///
public readonly T Minimum;
///
- /// Returns maximum value of the range.
- /// Возвращает максимальное значение диапазона.
+ /// A read-only field that represents a maximum value of the range.
+ /// оле для чтения, которое представляет максимальное значение диапазона.
///
public readonly T Maximum;
///
- /// Initializes a new instance of the Range class.
- /// Инициализирует новый экземпляр класса Range.
+ /// Initializes a new instance of the structure with a single specified value as minimum and maximum values.
+ /// Инициализирует новый экземпляр структуры с одним указанным значением в качестве минимального и максимального значений.
///
- /// Single value for both Minimum and Maximum fields.Одно значение для полей Minimum и Maximum.
+ ///
+ /// A single value for the both and .
+ /// Одно значение для и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Range(T minimumAndMaximum)
{
@@ -43,12 +46,21 @@ public Range(T minimumAndMaximum)
}
///
- /// Initializes a new instance of the Range class.
- /// Инициализирует новый экземпляр класса Range.
+ /// Initializes a new instance of the structure with the specified minimum and maximum values.
+ /// Инициализирует новый экземпляр структуры с указанными минимальным и максимальным значениями.
///
- /// The minimum value of the range.Минимальное значение диапазона.
- /// The maximum value of the range.Максимальное значение диапазона.
- /// Thrown when the maximum is less than the minimum.Выбрасывается, когда максимум меньше минимума.
+ ///
+ /// A minimum value of the .
+ /// Минимальное значение .
+ ///
+ ///
+ /// A maximum value of the .
+ /// Максимальное значение .
+ ///
+ ///
+ /// The is less than the .
+ /// меньше .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public Range(T minimum, T maximum)
{
@@ -58,89 +70,144 @@ public Range(T minimum, T maximum)
}
///
- /// Presents the Range in readable format.
- /// Представляет диапазон в удобном для чтения формате.
+ /// Returns a string representation of the current struct.
+ /// Возвращает строковое представление текущей структуры .
///
- /// String representation of the Range.Строковое представление диапазона.
+ ///
+ /// A string representation of the current struct.
+ /// Строковое представление текущей структуры .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public override string ToString() => $"[{Minimum}..{Maximum}]";
///
- /// Determines if the provided value is inside the range.
- /// Определяет, находится ли указанное значение внутри диапазона.
+ /// Determines whether the current struct contains the .
+ /// Определяет, содержится ли в текущей структуре .
///
- /// The value to test.Значение для проверки.
- /// True if the value is inside Range, else false.True, если значение находится внутри диапазона, иначе false.
+ ///
+ /// A value to test for inclusion in the struct.
+ /// Значение для проверки его присутствия в структуре .
+ ///
+ ///
+ /// A value that determines whether the struct contains the .
+ /// Значение типа , определяющее, содержится ли в структуре .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool Contains(T value) => _comparer.Compare(Minimum, value) <= 0 && _comparer.Compare(Maximum, value) >= 0;
///
- /// Determines if another range is inside the bounds of this range.
- /// Определяет, находится ли другой диапазон внутри границ этого диапазона.
+ /// Determines whether the struct contains the .
+ /// Определяет, содержится ли в структуре .
///
- /// The child range to test.Дочерний диапазон для проверки.
- /// True if range is inside, else false.True, если диапазон находится внутри, иначе false.
+ ///
+ /// A struct to test for inclusion in the current struct.
+ /// Структура , для проверки включённости в текущей структуре .
+ ///
+ ///
+ /// A value that determines whether the current struct contains the .
+ /// Значение типа , определяющее, содержится ли в текущей структуре .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool Contains(Range range) => Contains(range.Minimum) && Contains(range.Maximum);
///
- /// Determines whether the current range is equal to another range.
- /// Определяет, равен ли текущий диапазон другому диапазону.
+ /// Determines whether the current struct and are equal.
+ /// Определяет, равны ли текущая структура и .
///
- /// A range to compare with this range.Диапазон для сравнения с этим диапазоном.
- /// True if the current range is equal to the other range; otherwise, false.True, если текущий диапазон равен другому диапазону; иначе false.
+ ///
+ /// A struct to compare with the current struct.
+ /// Структура для сравнения с текущей структурой.
+ ///
+ ///
+ /// A value that determines whether the current struct and are equal.
+ /// Значение типа , определяющее, равны ли текущая структура и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool Equals(Range other) => _equalityComparer.Equals(Minimum, other.Minimum) && _equalityComparer.Equals(Maximum, other.Maximum);
///
- /// Creates a new struct initialized with as and as .
- /// Создает новую структуру , инициализированную с помощью как и как .
+ /// Initializes a new struct with the and values of the .
+ /// Инициализирует новую структуру , с значениями и из .
///
- /// The range of .Диапазон значений .
+ ///
+ /// A struct to initialize a tuple with the and values.
+ /// Структура для инициализации кортежа со значениями и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator ValueTuple(Range range) => (range.Minimum, range.Maximum);
///
- /// Creates a new struct initialized with as and as .
- /// Создает новую структуру , инициализированную с помощью как и как .
+ /// Initializes a new struct using items of the : the first item as the and the second item as the .
+ /// Инициализирует новую структуру , используя элементы : первый для и второй для .
///
- /// The tuple.Кортеж.
+ ///
+ /// A tuple of the and values.
+ /// Кортеж со значениями и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static implicit operator Range(ValueTuple tuple) => new Range(tuple.Item1, tuple.Item2);
///
- /// Determines whether the current range is equal to another object.
- /// Определяет, равен ли текущий диапазон другому объекту.
+ /// Determines whether the current struct and are equal.
+ /// Определяет, равны ли текущая структура и .
///
- /// An object to compare with this range.Объект для сравнения с этим диапазоном.
- /// True if the current range is equal to the other object; otherwise, false.True, если текущий диапазон равен другому объекту; иначе false.
+ ///
+ /// An object to compare with the .
+ /// Объект для сравнения с .
+ ///
+ ///
+ /// A value that determines whether the current struct and are equal.
+ /// Значение типа определяющее, равны ли текущая структура и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public override bool Equals(object obj) => obj is Range range ? Equals(range) : false;
///
- /// Calculates the hash code for the current instance.
+ /// Calculates a hash code for the current struct.
+ /// Вычисляет хеш код для структуры .
///
- /// The hash code for the current instance.
+ ///
+ /// A hash code for the current struct.
+ /// Хеш код для текущей структуры .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public override int GetHashCode() => (Minimum, Maximum).GetHashCode();
///
- /// Determines if the specified range is equal to the current range.
- /// Определяет, равен ли указанный диапазон текущему диапазону.
+ /// Determines if the and ranges are equal.
+ /// Определяет, равны ли диапазоны и .
///
- /// The current range.Текущий диапазон.
- /// A range to compare with this range.Диапазон для сравнения с этим диапазоном.
- /// True if the current range is equal to the other range; otherwise, false.True, если текущий диапазон равен другому диапазону; иначе false.
+ ///
+ /// A struct to compare with the .
+ /// Структура для сравнения с .
+ ///
+ ///
+ /// A struct instance to compare with the .
+ /// Структура для сравнения с .
+ ///
+ ///
+ /// A value that determines whether the and ranges are equal.
+ /// Значение типа , определяющее, равны ли диапазоны и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator ==(Range left, Range right) => left.Equals(right);
///
- /// Determines if the specified range is not equal to the current range.
- /// Определяет, не равен ли указанный диапазон текущему диапазону.
+ /// Determines if the and ranges are not equal.
+ /// Определяет, не равны ли диапазоны и .
///
- /// The current range.Текущий диапазон.
- /// A range to compare with this range.Диапазон для сравнения с этим диапазоном.
- /// True if the current range is not equal to the other range; otherwise, false.True, если текущий диапазон не равен другому диапазону; иначе false.
+ ///
+ /// A struct to compare with the .
+ /// Структура для сравнения с .
+ ///
+ ///
+ /// A struct to compare with the .
+ /// Структура для сравнения с .
+ ///
+ ///
+ /// A value that determines whether the and ranges are not equal.
+ /// Значение типа , определяющее, не равны ли диапазоны и .
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool operator !=(Range left, Range right) => !(left == right);
}