小编kik*_*iki的帖子

HtmlAgilityPack - 获取文档中的所有节点

我想使用HtmlAgilityPack将遍历documnet中的所有节点

foreach (HtmlNode node in myhtml.DocumentNode.SelectNodes("//@"))
Run Code Online (Sandbox Code Playgroud)

做?

c# xpath html-agility-pack

10
推荐指数
1
解决办法
1万
查看次数

使用SharpZipLib制作没有文件夹结构的.tar.gz存档

我正在尝试.tar.gz使用SharpZipLib从文件夹中找到文件列表.问题是无论如何传递文件路径 - 结果总是包含文件路径 - 而不仅仅是文件自身.我在这里失踪了什么?

string filesFolder = "c:\\testfolder\\test\\";
List<string> filesToZip = new List<string>() { filesFolder +"test1", filesFolder  +"test2"};

using (FileStream fs = new FileStream(filesFolder +"myGz.tar.gz" , FileMode.Create, FileAccess.Write, FileShare.None))
using (Stream gzipStream = new GZipOutputStream(fs))
using (TarArchive tarArchive = TarArchive.CreateOutputTarArchive(gzipStream))
     {
      foreach (string filename in filesToZip )
      {
        {
          TarEntry tarEntry = TarEntry.CreateEntryFromFile(filename);
          tarArchive.WriteEntry(tarEntry, false);
        }
      }
     }
Run Code Online (Sandbox Code Playgroud)

我得到的是一个"myGz.tar.gz"文件.当我尝试用7.zip打开它时 - 我在存档中获得完整的文件夹结构--c:\ testfolder\test \,并在其中 - "test1","test".

如何删除文件路径?

谢谢

.net c# sharpziplib

6
推荐指数
1
解决办法
2536
查看次数

使用互锁用法

我正在尝试编写一个多线程程序,其中每个线程将使用一个计数器,然后递增它.

例如:

lock(this)
{
   counter++;
   Console.WriteLine(counter); 
}
Run Code Online (Sandbox Code Playgroud)

我知道,对于增量我可以使用:

System.Threading.Interlocked.Increment(counter);
Run Code Online (Sandbox Code Playgroud)

但是如果锁定增量和对计数器做某事呢?

谢谢!

c# multithreading

4
推荐指数
3
解决办法
2万
查看次数