无法从用法中推断出附加类型参数

Append type arguments cannot be inferred from usage

我必须使用特定格式的 SHA1 加密字符串,并且我已经声明了我的变量类型,但我无法弄清楚为什么这个错误仍然存​​在。

string sb = "";

using (var sha1 = SHA1.Create())
{
    byte[] byteHash = sha1.ComputeHash(Encoding.UTF8.GetBytes(HashData));

    foreach (byte bh in byteHash)
    {
        sb.Append(String.Format("{0:X2}", bh));
    }
}

我的确切错误是:

The type arguments for method 'Enumerable.Append(IEnumerable, TSource)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

您可以将 sb 声明为 StringBuilder(这可能是 "sb" 应该代表的意思),完成后您可以通过致电 sb.ToString()

var sb = new StringBuilder();

using (var sha1 = SHA1.Create())
{
    byte[] byteHash = sha1.ComputeHash(Encoding.UTF8.GetBytes(HashData));

    foreach (byte bh in byteHash)
    {
        sb.Append(String.Format("{0:X2}", bh));
    }
}

string result = sb.ToString();