繁体   English   中英

mscorlib.dll 中发生了“System.ArgumentException”类型的第一次机会异常

[英]A first chance exception of type 'System.ArgumentException' occurred in mscorlib.dll

class Program
{
    public static string GetChecksum(string m_fileinput)
    {


        string m_checksum;
        using (FileStream stream = File.OpenRead(m_fileinput))
        {
            SHA256Managed sha = new SHA256Managed();
            byte[] checksum = sha.ComputeHash(stream);
            m_checksum =
              BitConverter.ToString(checksum).Replace("-", String.Empty);
        }

        return m_checksum;
    }

    static void Main(string[] args)
    {
        string fileContent = File.ReadAllText("C://Users//wiproat3//Desktop//checksum.txt");
        string checksum = GetChecksum(fileContent);
        Console.WriteLine(checksum);
        Console.ReadLine();
    }
}

我正在尝试为文件创建校验和。虽然调试文件内容为红色,但我在“文件流”行中收到此错误“在 mscorlib.dll 中发生类型为‘System.ArgumentException’的第一次机会异常”。

您只需要更正对GetChecksum函数的调用。

现在你是路过checksum.txt的全部内容作为一个字符串的m_fileinput参数GetChecksum 但是File.OpenRead需要一个文件路径 - 而不是文件的内容。

你所要做的就是更新你的 Main 函数,所以它看起来像下面的代码。

static void Main(string[] args)
{
    string checksum = GetChecksum("C://Users//wiproat3//Desktop//checksum.txt");
    Console.WriteLine(checksum);
    Console.ReadLine();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM