收藏
回答

官网下载的demo .NET C#版 “byte[]”未包含“ToList”的定义


错误“byte[]”未包含“ToList”的定义,并且找不到可接受第一个“byte[]”类型参数的扩展方法“ToList”(是否缺少 using 指令或程序集引用?)

开发环境为  vs2017 + win10 64位 +.net4.0

 网上说        var enc = Encoding.Default;  改为  var enc = Encoding.UTF8;   无效!错误依然存在!

求高手指点一下


   private  string CalcHMACSHA256Hash(string plaintext, string salt)

        {

            string result = "";

            var enc = Encoding.Default;

            byte[]

            baText2BeHashed = enc.GetBytes(plaintext),

            baSalt = enc.GetBytes(salt);

            System.Security.Cryptography.HMACSHA256 hasher = new HMACSHA256(baSalt);

            byte[] baHashedText = hasher.ComputeHash(baText2BeHashed);

            result = string.Join("", baHashedText.ToList().Select(b => b.ToString("x2")).ToArray());

            return result;

        }


回答关注问题邀请回答
收藏

4 个回答

  • PG_阿森
    PG_阿森
    2020-06-09

    我是对接微信支付的时候在demo里面遇到到同样的问题,与吧主的代码一致,using System.Linq;报错,无法引用,以至于byte[]不包含‘ToList’。找了半天才想到这问题,有两年没写c#,一只写php和小程序了。微信支付给出的项目是framework 2.0 ,我们平常开发用的是4.0.所以需要先升级一下才能用。

    选中项目,右击选择属性,将目标框架的 .NET framework 2.0 改成 .NET framework 4。就可以了。

    2020-06-09
    有用 1
    回复
  • 无香桃桃
    无香桃桃
    2020-06-15

    你得先右键项目,属性页面去把目标框架调高,我调到了.NET Framework 4.7.2 ,然后右键引用,管理Nuget包,把System.Linq安装好,然后就好了

    2020-06-15
    有用
    回复
  • 乐在云端
    乐在云端
    2020-02-13

    怎么解决的


    2020-02-13
    有用
    回复
  • 友
    2019-11-22

    已解决

    2019-11-22
    有用
    回复 1
    • PG_阿森
      PG_阿森
      2020-06-09
      怎么解决的?
      2020-06-09
      回复
登录 后发表内容