Javascript 计算机如何读取两个连续的减法?

Javascript 计算机如何读取两个连续的减法?,javascript,c#,math,Javascript,C#,Math,嗨,我有以下代码,其中我的编号--我的意思应该是number=number-1不工作。相反,console正在打印您为歌曲Raspberry Beret评级为4星。而不是您为歌曲Missing U评级为4星。因为Missing U是阵列中的第二首歌曲。然而,当我改变数字--至编号-=1或数字1,它可以正确打印缺少的U。请问,我对--的误解是什么,我对数字--被计算机读取为number=number-1正如我以前在javascript中对循环使用的那样,它是否有效 using System; n

嗨,我有以下代码,其中我的
编号--我的意思应该是
number=number-1不工作。相反,console正在打印
您为歌曲Raspberry Beret评级为4星。
而不是
您为歌曲Missing U评级为4星。
因为Missing U是阵列中的第二首歌曲。然而,当我改变
数字--至<代码>编号-=1
数字1
,它可以正确打印缺少的U。请问,我对
--
的误解是什么,我对
数字--被计算机读取为
number=number-1
正如我以前在javascript中对循环使用的那样,它是否有效

using System;

namespace AccessingArrays
{
  class Program
  {
    static void Main(string[] args)
    {     
      string[] summerStrut;
      
      summerStrut = new string[] { "Juice", "Missing U", "Raspberry Beret", "New York Groove", "Make Me Feel", "Rebel Rebel", "Despacito", "Los Angeles" };
      
      int[] ratings = { 5, 4, 4, 3, 3, 5, 5, 4 };

      int nthSong(int number) => number--;
      Console.WriteLine($"You rated the song {summerStrut[nthSong(2)]} {ratings[nthSong(2)]} stars.");
    }
  }
}
我刚才提到的javascript示例:

var p;
for (p = 10; p >= myArray.length; p--) {
  console.log("Length is " + i + "." )
}

其中一个问题是,您假设javascript和C#做的是相同的,并且两者在许多方面都有很大的不同,但是您得到该结果的原因是因为您以错误的顺序使用了正确的运算符:

int a = 2;
Console.WriteLine(a--);
int b = 5;
Console.WriteLine(--b);
第一个示例将打印
2
,因为您告诉编译器,
打印
a
的值,然后减去1,第二个示例将打印
4
,因为在
C
中,一些运算符可以用作某些表达式的前缀或后缀。


我希望这能帮助你
intnthsong(intnumber)=>number--您的c#代码与Javascript代码是无法比拟的。前者甚至不使用循环@madreflection为什么要修改它?@Sweeper-Hmm,但我认为
--
用于减去1,无论它是否在循环中
--
的意思是减去1,但看看你是如何使用它的。您正在向它传递常量。您不能修改常量,但是您可以看到,当您将这些常量传递给
nthSong
local函数时,它们被放置在堆栈(内存空间)上。
--
运算符应用于堆栈上的内存空间。返回时,堆栈空间无效,因此修改后的值丢失。在学习的这一点上,应该避免使用局部函数。