$.ajax({
url: '<%=request.getContextPath() %>/rest/tasks/file/'+temp_taskID+'?fileType=JPG' +
'&fileName='+imgNames[i],
headers: {
'apiKey':'1xxxx3-dde5-4eec-b3ee-2xxxx507xxe8',
'ID':ID
},
type: "GET"
})
.done (function(data, textStatus, jqXHR) {
$("#img_carousel").attr("src", "data:image/jpeg;base64," + data);
})
.fail (function(jqXHR, textStatus, errorThrown) {});
请原谅我的草率代码。我只是想知道为什么我得到一个Argument Out Of Range错误?老实说,我不知道我打算怎么做。它刚刚发生。我已经指出了错误发生的地方。
答案 0 :(得分:0)
完成计算并将Calc
缩减到运算符左侧的部分后,您仍然可以循环运算符。当您检查下一个运算符时,字符串中不再有运算符,即index
指向字符串之外的位置。
不是循环遍历运算符以找到作为运算符的运算符,而是从字符串中获取运算符:
static void Main(string[] args) {
Console.WriteLine("");
string Calc = Console.ReadLine();
char[] operands = { '+', '-', '/', '*' };
int index = Calc.IndexOfAny(operands);
if (index != -1)
{
Console.WriteLine(Calc.Substring(index));
string thing = Calc.Substring(index + 1);
char x = Calc[index];
Calc = Calc.Substring(0, index);
Calc = Calc.Replace(" ", "");
Console.WriteLine("{0} first value",Calc);
Console.WriteLine("{0} operand value", x);
Console.WriteLine("{0} second value", thing);
switch(x)
{
case '+':
Console.WriteLine(Convert.ToInt32(Calc) + Convert.ToInt32(thing));
break;
case '-':
Console.WriteLine(Convert.ToInt32(Calc) - Convert.ToInt32(thing));
break;
case '/':
Console.WriteLine(Convert.ToInt32(Calc) / Convert.ToInt32(thing));
break;
case '*':
Console.WriteLine(Convert.ToInt32(Calc) * Convert.ToInt32(thing));
break;
}
}
Console.ReadLine(); }