c# - 你能在一个衬里中获得最大长度的 String.Split 吗?

标签 c# string refactoring split

在下面的代码中,有没有办法不需要 foreach?所有需要发生的是,如果单个拆分部分超过长度,我可以将其设置为无效。

我的同事确信他为此使用了一行代码,但谷歌没有给我留下任何证据。

                else if (lineSplit[11].Length > Constant.EstimatedBirthdatesofChildren)
            {
                var estimatedBirthdatesofChildren = lineSplit[11].Split('~');
                foreach (String estimatedBirthdatesofChild in estimatedBirthdatesofChildren)
                {
                    if (estimatedBirthdatesofChild.Length > Constant.EstimatedBirthdatesofChild) valid = false;
                }
            }

最佳答案

lineSplit[11].Split('~').Max(s => s.Length)

糟糕,您的意思是您需要第一个长度超过预期长度的 token ?你的问题不清楚,但如果是,你可以写
valid = lineSplit[11].Split('~').Any(s => s.Length > Constant.EstimatedBirthdatesofChild)

关于c# - 你能在一个衬里中获得最大长度的 String.Split 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4967784/

相关文章:

c# - 如何在 C# 中的列表中查找连续整数?

c# - 滚动到 C# DataGridView 的底部

php - 检查字符串是否与 php 中的另一个字符串相似?

mysql字符串连接返回0

string - 如何将 cmdlet 插入到 powershell 中的字符串中

c# - 在 C# 中播放声音 byte[]

c# - JsonUtility.FromJson 创建列表<对象>

c# - 使用语句 Roslyn 脚本/代码排序和删除(未使用的)?

java - 重构依赖注入(inject)

refactoring - 哪些工具可以帮助翻译(如法语 -> 英语而不是 C++ -> java)源代码?