我想将下面的“foreach”语句转换为将文件名的子字符串返回到列表中的 LINQ 查询:
IList<string> fileNameSubstringValues = new List<string>();
//Find all assemblies with mapping files.
ICollection<FileInfo> files = codeToGetFileListGoesHere;
//Parse the file name to get the assembly name.
foreach (FileInfo file in files)
{
string fileName = file.Name.Substring(0, file.Name.Length - (file.Name.Length - file.Name.IndexOf(".config.xml")));
fileNameSubstringValues.Add(fileName);
}
最终结果将类似于以下内容:
IList<string> fileNameSubstringValues = files.LINQ-QUERY-HERE;
最佳答案
尝试这样的事情:
var fileList = files.Select(file =>
file.Name.Substring(0, file.Name.Length -
(file.Name.Length - file.Name.IndexOf(".config.xml"))))
.ToList();
关于c# - 如何使用 LINQ 返回 FileInfo.Name 的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418187/