Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查文件名在整个文件名中是否包含一些字符串值_C#_.net_Console Application - Fatal编程技术网

C# 如何检查文件名在整个文件名中是否包含一些字符串值

C# 如何检查文件名在整个文件名中是否包含一些字符串值,c#,.net,console-application,C#,.net,Console Application,我有一个大约37k的文件名和8k的字符串数组。我想检查数组中的每个字符串是否存在于这些文件名中,并且它应该返回该文件名。我试过下面的代码。但是没有得到要求的答案 我已附上下面的文件名图片 例如,如果res的值为“000000000000000 100108979”,并且filename包含该值,则它应该返回文件名 快速解决方案可以是: var results = files.Any(r => r.IndexOf(res) >= 0); 这是因为包含搜索匹配字符串,而不仅仅是其中的

我有一个大约37k的文件名和8k的字符串数组。我想检查数组中的每个字符串是否存在于这些文件名中,并且它应该返回该文件名。我试过下面的代码。但是没有得到要求的答案

我已附上下面的文件名图片

例如,如果res的值为“000000000000000 100108979”,并且filename包含该值,则它应该返回文件名


快速解决方案可以是:

var results = files.Any(r => r.IndexOf(res) >= 0);
这是因为
包含搜索匹配字符串,而不仅仅是其中的一部分。
算法可以优化,也可以尝试其他方法,但这只是一个wuick修复


操作请求后编辑
要获取文件名,可以使用:

var filename = files.FirstOrDefault(r => r.IndexOf(res) >= 0);
if (string.IsNullOrEmpty(filename)) {
  // NOT FOUND
} else {
  // Filename contains your full filename
}

它包含什么类型的文件?如果找到匹配项,您希望执行什么操作?您想保留所有匹配的结果,还是只关心文件是否匹配一个结果?你能提供一个更完整的例子吗,因为这还不够。它包含.jpeg文件@prasadelkikakara在找到匹配项后,我想返回匹配的文件名@kurthamilton从这里我能返回匹配的确切文件名吗。@NiranjanS:拿一些书来学习基础知识。然后试着自己编写代码,研究人们是如何解决同样的问题的(所以要学习);这么做几年,你就会比我强得多@谢谢你,兄弟。告诉我如何思考逻辑并应用它。
var filename = files.FirstOrDefault(r => r.IndexOf(res) >= 0);
if (string.IsNullOrEmpty(filename)) {
  // NOT FOUND
} else {
  // Filename contains your full filename
}