我在磁盘上有一个文件列表,我需要获取这些文件并将其加载到内存中。我创建了一个FileConfig类,如下所示,其中包含每个文件的所有元数据。
public class FileConfig
{
public string FileName { get; set; }
public DateTime Date { get; set; }
public string FileContent { get; set; }
public string MD5Hash { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我MD5Hash为每个文件都有一个字符串,以便稍后可以将其与其他一些文件进行比较,以确定特定文件是否不同。
FileConfig下面是我的代码,我从磁盘获取所有文件的列表,然后从中创建对象列表。
private IEnumerable<FileConfig> LoadFiles(string path)
{
IList<string> files = procUtility.GetListOfFiles(path);
if (files == null || files.Count == 0) { yield return default; }
for (int i = 0; i < files.Count; i++)
{
var cfgPath = files[i];
if (!File.Exists(cfgPath)) { …Run Code Online (Sandbox Code Playgroud) 我有一个IEnumerable<>对象,我正在使用 for 循环进行迭代,如下所示:
IEnumerable<Process> dataHolder = GetData();
// how to write below foreach loop in one-liner?
foreach (var x in dataHolder)
{
loggingService.Warn(LOG_TITLE, "Value: " + x.ClientName);
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有任何方法可以foreach在one-liner.