将变量传递给接受字符串的方法

时间:2019-06-11 18:18:14

标签: c#

当前,我必须在GetBytes方法中对字符串值“ GGGGGGG”进行硬编码,如下所示:

byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes("GGGGGGG:G44HMYRQGIZTCNRXOJVGU23IOZQW6OJQHFSWQ23M:123456");
string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
var signature = returnValue;
Console.WriteLine(signature);

但是我想传递一个变量值来替换GetBytes方法参数的“ GGGGGGG”部分

var access_token = "GGGGGGG";
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("'{0}':G44HMYRQGIZTCNRXOJVGU23IOZQW6OJQHFSWQ23M:123456"), access_token);
string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
var signature = returnValue;        
Console.WriteLine(signature);

但是,当尝试传递变量access_token时,我收到一条错误消息,即没有使用2个参数的重载方法GetBytes

我不确定如何将变量传递到GetBytes方法的第一部分

2 个答案:

答案 0 :(得分:4)

此处存在语法错误,您正在将access_token而不是getBytes传递给Format

byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("'{0}':G44HMYRQGIZTCNRXOJVGU23IOZQW6OJQHFSWQ23M:123456", access_token));
``

答案 1 :(得分:0)

您将access_token放在错误的上下文中,需要将其放入string.Format方法中,如下所示:

byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("'{0}':G44HMYRQGIZTCNRXOJVGU23IOZQW6OJQHFSWQ23M:123456", access_token));