如何将文件解析为字符串列表,以便在c#的windows窗体应用程序中用于自动完成

本文关键字:窗体 应用程序 windows 用于 文件 列表 字符串 | 更新日期: 2023-09-27 18:16:58

我正在构建一个具有文本框字段的C#应用程序。在此字段中,用户将写入文本,文本将从远程存储库中找到的文件自动完成。我正在使用一个名为SharpSVN的库,我试图找到一种方法,在那里我可以根据我提供的特定路径从存储库中获取该文件,然后将内容解析为字符串,这些字符串将添加到前面提到的文本框的自动完成列表中。

如何将文件解析为字符串列表,以便在c#的windows窗体应用程序中用于自动完成

有两种方法:

  1. 使用存储库url下载文件文本。如果您希望文件处于特定版本,请尝试输入"?"R =12345",以获取文件在特定版本号处的外观:

    string fileText = new WebClient().DownloadFile("https://myrepo.com/myfile.txt", localFilename);
    
  2. 或者,您也可以使用SharpSVN,如果您想要最新版本,则删除修订选项:

    public string GetFileContentsAsString(long revisionNumber)
    {
        return new StreamReader(GetFileContents(revisionNumber)).ReadToEnd();
    }
    private MemoryStream GetFileContents(long revisionNumber)
    {
        SvnRevision rev = new SvnRevision(revisionNumber);
        MemoryStream stream = new MemoryStream();
        using (SvnClient client = GetClient())
        {
            client.FileVersions(SvnTarget.FromUri(RemotePath), new SvnFileVersionsArgs() { Start = rev, End = rev }, (s, e) =>
            {
                e.WriteTo(stream);
            });
        }
        stream.Position = 0;
        return stream;
    }
    

当你有一个文本字符串文件时,你可以使用。net的string . split()方法将文本分割成一个行列表,使用''n'换行符作为分隔符:

string[] fileAsLines = fileText.Split(new char[] {''n'});