c# - 如何从包含 C# 中特定子字符串的字符串数组返回字符串?
问题描述
我正在获取命令行参数的字符串数组并检查是否有任何包含“.xml”子字符串的参数
string[] args = this.Command.GetCommandLineArgs();
string strXMLFileName = string.Empty;
for (int i = 0; i < args.Length; ++i)
{
if (args[i].Contains(".xml"))
{
strXMLFileName = args[i];
}
}
我在 List<string> 方法中进行了一些搜索,但找不到任何可以简化流程的东西
我假设只有 1 个带有“.xml”子字符串的参数
是否有任何内置的 C# 方法可以在不手动迭代字符串数组的情况下执行此操作
解决方案
您可以使用LINQ:
var strXMLFileName = args.FirstOrDefault(x => x.Contains(".xml"));
将屈服null
是没有这样的说法。
注意:对于搜索字符串".xml"
,EndsWith
通常比Contains
.
推荐阅读
- visual-studio-code - 如何在 Visual Studio Code 的突出显示匹配标记扩展中更改匹配标记的下划线?
- python - 用于捕获两个子字符串之间的字符串的正则表达式
- javascript - Vimeo 自动播放和透明度
- mongodb - 何时将集合分解为更小的集合
- django - ModuleNotFoundError:没有名为“rest_framework”的模块。我该如何解决这个错误?
- azure-devops - 如何指向 Azure Pipelines 构建的引用存储库上的特定提交
- regex - 关于 Perl 正则表达式脚本的建议
- c - 了解预处理器宏中的内联汇编与函数中的内联汇编
- javascript - 尝试转译时 JavaScript babel“TypeError:无法读取 null 的属性‘绑定’”
- python - 在熊猫数据框中只保留非零缺失值