20230602
This commit is contained in:
51
anbs_cp/Structs/KeyValue.cs
Normal file
51
anbs_cp/Structs/KeyValue.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
namespace anbs_cp.Structs;
|
||||
|
||||
/// <summary>
|
||||
/// Пара ключ-значение
|
||||
/// </summary>
|
||||
/// <typeparam name="TK">Тип ключа</typeparam>
|
||||
/// <typeparam name="TV">Тип значения</typeparam>
|
||||
public struct KeyValue<TK, TV>
|
||||
{
|
||||
#region Конструкторы
|
||||
/// <summary>
|
||||
/// Конструктор по умолчанию
|
||||
/// </summary>
|
||||
public KeyValue ()
|
||||
{
|
||||
Key = default;
|
||||
Value = default;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Конструктор со значениями
|
||||
/// </summary>
|
||||
/// <param name="key">Ключ</param>
|
||||
/// <param name="value">Значение</param>
|
||||
public KeyValue (TK key, TV value)
|
||||
{
|
||||
Key = key;
|
||||
Value = value;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Свойства
|
||||
/// <summary>
|
||||
/// Ключ
|
||||
/// </summary>
|
||||
public TK? Key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Значение
|
||||
/// </summary>
|
||||
public TV? Value { get; set; }
|
||||
#endregion
|
||||
|
||||
#region Методы
|
||||
/// <summary>
|
||||
/// Получает ключ-значение по умолчанию
|
||||
/// </summary>
|
||||
/// <returns>Ключ-значение по умолчанию</returns>
|
||||
public static KeyValue<TK, TV> GetDefault() => new();
|
||||
#endregion
|
||||
}
|
61
anbs_cp/Structs/TwoDimSize.cs
Normal file
61
anbs_cp/Structs/TwoDimSize.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
namespace anbs_cp.Structs;
|
||||
|
||||
/// <summary>
|
||||
/// Двумерный размер
|
||||
/// </summary>
|
||||
public struct TwoDimSize
|
||||
{
|
||||
#region Приватные поля
|
||||
/// <summary>
|
||||
/// Длина (приватное)
|
||||
/// </summary>
|
||||
private int _pWidth;
|
||||
|
||||
/// <summary>
|
||||
/// Высота (приватное)
|
||||
/// </summary>
|
||||
private int _pHeight;
|
||||
#endregion
|
||||
|
||||
#region Конструкторы
|
||||
/// <summary>
|
||||
/// Конструктор по умолчанию
|
||||
/// </summary>
|
||||
public TwoDimSize ()
|
||||
{
|
||||
Width = 0;
|
||||
Height = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
/// <param name="width">Длина</param>
|
||||
/// <param name="height">Высота</param>
|
||||
public TwoDimSize (int width, int height)
|
||||
{
|
||||
Width = width;
|
||||
Height = height;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Свойства
|
||||
/// <summary>
|
||||
/// Длина
|
||||
/// </summary>
|
||||
public int Width
|
||||
{
|
||||
readonly get => _pWidth;
|
||||
set => _pWidth = value < 0 ? 0 : value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Высота
|
||||
/// </summary>
|
||||
public int Height
|
||||
{
|
||||
readonly get => _pHeight;
|
||||
set => _pHeight = value < 0 ? 0 : value;
|
||||
}
|
||||
#endregion
|
||||
}
|
Reference in New Issue
Block a user