C# 如何提取dialogbox选择的RAR文件

C# 如何提取dialogbox选择的RAR文件,c#,dialog,extraction,rar,C#,Dialog,Extraction,Rar,我在C#中有一个将zip文件解压缩到特定文件夹的代码。 我想从代码中提取一个RAR文件。 我尝试了一些其他的东西,比如7-zip,IO.Compression,但它不适合我。 下面是我用来解压缩zip文件的代码 DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK) { ZipFile.ExtractToDi

我在C#中有一个将zip文件解压缩到特定文件夹的代码。 我想从代码中提取一个RAR文件。 我尝试了一些其他的东西,比如7-zip,IO.Compression,但它不适合我。 下面是我用来解压缩zip文件的代码

DialogResult result = openFileDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                ZipFile.ExtractToDirectory(openFileDialog1.FileName, "TestFolder"); 
                MessageBox.Show("ZIP file extracted successfully!");
            }
我想要的就是这样。 当用户选择Zip或RAR文件时,此代码将在预先指定的文件夹中提取受尊重的文件。 这是一个windows窗体应用程序。 请帮忙。 欢迎任何帮助。
谢谢,RAR是一种不同的压缩格式。您应该使用另一个库来处理RAR文件,因为没有为
.NET
内置的任何内容。例如:

从官方文档页面:“使用RARChive将Rar文件中的所有文件提取到目录”


@托德马索·贝鲁佐谢谢我的朋友。我有个问题。您是否使用了RARARCVE库?我在entry.WriteToDirectory(“D:\\temp”,new ExtractOptions(){ExtractFullPath=true,Overwrite=true}上遇到错误; Extractionoption、extractfullpath和Overwrite您应该真正开始阅读该库的文档。
using (var archive = RarArchive.Open("Test.rar"))
{
    foreach (var entry in archive.Entries.Where(entry => !entry.IsDirectory))
    {
        entry.WriteToDirectory("D:\\temp", new ExtractionOptions()
        {

        });
    }
}