c# - 为什么我的变量计数不正确?

标签 c# silverlight xaml variables

我的以下代码有问题。当用户选择 RadioButton(例如重新加载)并单击提交按钮时,我希望屏幕中的弹药计数器增加 1。在 RadioButton 选择“fire”时,我希望弹药计数器减少 1。

我遇到的问题是弹药计数器似乎落后于用户选择。所以:

  • 弹药数 = 1:用户选择装弹
  • 弹药数 = 1:用户选择 重新加载
  • 弹药数 = 2:用户选择开火
  • 弹药数 = 3:用户选择 重新加载
  • 弹药数量 = 2:

^^ 看,弹药数量始终落后于用户选择。我该如何解决这个问题?

   namespace ShotgunApp
{
    public partial class SingleGame : PhoneApplicationPage
    {
        public static class AmmoCount
        {
            public static int userAmmo = startVars.startAmmo;
            public static int geniusAmmo = startVars.startAmmo;
        }


        public SingleGame()
        {
            InitializeComponent();
            GeniusAmmo.Text = "ammo: " + AmmoCount.geniusAmmo;
            UserAmmo.Text = "ammo: " + AmmoCount.userAmmo;


        }

        private void submit_Click(object sender, RoutedEventArgs e)
        {
            Move();
        }

        public void Move()
        { 
            if (uReload.IsChecked.HasValue && uReload.IsChecked.Value == true)
            {
                UserAmmo.Text = "ammo: " + AmmoCount.userAmmo++;

            }
            else if (uShield.IsChecked.HasValue && uShield.IsChecked.Value == true)
            {

            }
            else if (uFire.IsChecked.HasValue && uFire.IsChecked.Value == true)
            {
                UserAmmo.Text = "ammo: " + AmmoCount.userAmmo--;
            }
            else
            {

            }
        }
    }
}

最佳答案

AmmoCount.userAmmo++AmmoCount.userAmmo--(后缀运算符)正确递减和递增变量,但它们返回之前未更改的值。

您应该使用前缀运算符:(++AmmoCount.userAmmo)(--AmmoCount.userAmmo)

关于c# - 为什么我的变量计数不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154981/

相关文章:

c# - 无法处理 System.Data.SqlTypes.SqlNullValueException

c# - WriteableBitmap 在 Silverlight 4 中有新功能吗?

wpf - 如何在 WPF 中使用 Interaction.EventTrigger 和冒泡自定义事件

wpf - 如何在 XAML 中注入(inject)转换器

c# - 一个 linq 语句中的 Collection<Collection<Person>> 到 Collection<Person>

c# - 递归自连接

c# - httpClient 告诉我错误 c# winform

silverlight - 动态更改 UI 语言

silverlight - 在图像剪切上应用变换(平移/旋转)时,Image.Clip 或 Path.Fill 是否更快?

.net - XAML 文件如何与 cs 文件关联?