You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何检查字符串数组内所有字符串长度是否一致

C#判断字符串数组内所有元素长度是否全部相等

以下是两种可直接落地的实现方案,兼容空数组、null元素等边界场景:

方法1:使用LINQ(代码最简洁)

先引入System.Linq命名空间,一行代码即可完成判断,适合绝大多数常规业务场景:

using System.Linq;

string[] text = new string[] {"string1", "string2", "string3"};
// 空数组直接返回true,其余情况校验所有元素长度和第一个元素一致
bool allLengthEqual = text.Length == 0 || text.All(s => s?.Length == text[0]?.Length);

你给出的示例数组中三个字符串长度均为7,运行后allLengthEqual的返回值为true。

方法2:手写循环(性能更优)

如果数组体量很大,或者项目中不使用LINQ,可以手写遍历逻辑,遇到第一个长度不匹配的元素就会直接终止判断,不需要遍历完整个数组,性能更高:

bool CheckAllStringLengthEqual(string[] arr)
{
    // 数组为空、长度为0或1时,天然满足长度全部相等的条件
    if (arr == null || arr.Length <= 1) return true;
    // 用-1标记null元素的长度,和正常字符串长度(>=0)做区分
    int targetLength = arr[0]?.Length ?? -1;
    for (int i = 1; i < arr.Length; i++)
    {
        int currentLength = arr[i]?.Length ?? -1;
        if (currentLength != targetLength) return false;
    }
    return true;
}

// 调用示例
bool result = CheckAllStringLengthEqual(text);

补充说明

  • 如果你能确定数组里不存在null元素,可以把代码里的?.空条件运算符、?? -1的null兼容逻辑去掉,代码会更精简
  • 如果业务逻辑里认为null和空字符串""长度相等,可以把null对应的标记值改成0即可

内容的提问来源于stack exchange,提问作者codelover1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 11:42:22