GeWuYou 6908c74efc feat(extensions): 添加数组扩展方法支持二维数组边界检查
- 实现 IsInBounds 扩展方法用于检查二维数组坐标边界
- 提供泛型支持以适配不同类型的二维数组
- 包含完整的 XML 文档注释说明方法用途和参数
- 遵循 Apache 2.0 开源协议规范添加版权头文件
2026-03-29 22:04:14 +08:00

35 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (c) 2026 GeWuYou
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
namespace GFramework.Core.Extensions;
/// <summary>
/// 数组扩展方法类,提供二维数组的边界检查等实用功能。
/// </summary>
public static class ArrayExtensions
{
/// <summary>
/// 检查二维数组的给定坐标是否在有效边界内。
/// </summary>
/// <typeparam name="T">数组元素类型。</typeparam>
/// <param name="array">要检查的二维数组。</param>
/// <param name="x">要检查的 X 坐标(第一维索引)。</param>
/// <param name="y">要检查的 Y 坐标(第二维索引)。</param>
/// <returns>如果坐标在数组边界内则返回 true否则返回 false。</returns>
public static bool IsInBounds<T>(this T[,] array, int x, int y)
{
return x >= 0 && y >= 0 &&
x < array.GetLength(0) &&
y < array.GetLength(1);
}
}