namespace PartyDamage; public static class ArrayExt { public static bool TryGetIndex(this T[] array, int index, out T? result) { if (index < 0 || index >= array.Length) { result = default; return false; } result = array[index]; return true; } public static T? GetIndexOrDefault(this T[] array, int index) { return array.TryGetIndex(index, out var result) ? result : default; } }