人
这是我的代码:
private byte[] UploadValues(string method, NameValueCollection data)
{
var client = new WebClient();
try
{
ServicePointManager.ServerCertificateValidationCallback +=
ServerCertificateValidation;
returnrclient.UploadValues(uri, method, parameters);
}
finally
{
ServicePointManager.ServerCertificateValidationCallback -=
ServerCertificateValidation;
}
}
private bool ServerCertificateValidation(object sender,
X509Certificate certificate, X509Chain chain,
SslPolicyErrors sslPolicyErrors)
{
var request = sender as HttpWebRequest;
if (request != null && request.Address.Host.Equals(
this.uri.Host, StringComparison.OrdinalIgnoreCase))
return true;
return false;
}
基本上,我想在变量x小于var1的值时创建一个变量yy;
但输出并没有给我变量yy。
任何人都能帮助我吗?
THX!
答案 0 :(得分:0)
你让%do
和do
感到困惑。
%do
如果你想一遍又一遍地重复一段代码,就像你多次输入一样。在打开数据集之前必须知道继续/结束%do
循环的参数 - 它们必须是文本,或者它们必须是宏变量中包含的文本(而不是一个中的数据)。
do
是您想迭代数据步变量。继续/结束do
循环的参数可以是数据集中的数据,也可以是文本,也可以是数据集变量中的值或存储在宏变量中的文本。
所以,你想要:
%let var1=C;
data want;
x= 3;
counter=0;
do &var1. = 10 to 1 by -1 while ( &var1. > x);
yy = 1/(1+x);
counter=counter+1;
end;
run;
我不知道你为什么要在这里循环。您可以在没有任何循环的情况下确定此答案。