首页 > 解决方案 > 如何从包含 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# 方法可以在不手动迭代字符串数组的情况下执行此操作

标签: c#stringloopsarraylistsubstring

解决方案


您可以使用LINQ

var strXMLFileName = args.FirstOrDefault(x => x.Contains(".xml"));

将屈服null是没有这样的说法。


注意:对于搜索字符串".xml"EndsWith通常比Contains.


推荐阅读