C#检查更多文件是否具有以下字符串之一

时间:2019-02-22 16:20:30

标签: c#

又是我,你的家伙... 卡住了另一个问题,我在其他任何地方都找不到奇怪的地方... 这是我拥有的用于检查目录和子目录中的文件是否具有特定字符串的代码。如果这样做,我将在文件底部添加一个字符串。 我在很大程度上遵循了Microsoft Docs上的文档。

public class OFiles
{
    public string PathProgetto
    {
        get;
        set;
    }

    public void Change()
    {

        try
        {
            string docPath = PathProject;

            var files = from file in Directory.EnumerateFiles(docPath, "*.h", SearchOption.AllDirectories)
                        from line in File.ReadLines(file)
                        where line.Contains("String I want")
                       // where line.Contains("Other String I want")
                       // where line.Contains("Another String I want")

                        select new
                        {
                            File = file,
                            Line = line
                        };

            System.Collections.ArrayList arr = new System.Collections.ArrayList();
            foreach (var f in files)
            {
                arr.Add(f.File.ToString());

            }
            string sNuovaRiga = "This One";
            foreach (var s in arr)
            {
                File.AppendAllText(s.ToString(), "\r\n" + sNuovaRiga);
            }
            Console.WriteLine($"{files.Count().ToString()} files found and modified.");
        }

        catch (UnauthorizedAccessException uAEx)
        {
            Console.WriteLine(uAEx.Message);
        }
        catch (PathTooLongException pathEx)
        {
            Console.WriteLine(pathEx.Message);
        }

    }
}

您会注意到,我还希望程序检查其他字符串。问题是我不知道该怎么做,我只知道我做不到的方式,我不能在另一个地方做,所以我在这里问。问我任何不清楚的事,并预先感谢

1 个答案:

答案 0 :(得分:0)

我想结束这个问题,所以我就回答。 正如@elgonzo所建议的那样,在这个特殊情况下,当我不得不在字符串之间进行选择时,我要做的只是放||