【问题标题】:C# Array returning a value that's not in itC# 数组返回一个不在其中的值
【发布时间】:2017-09-27 01:37:33
【问题描述】:

我正在学习 C# 并遵循一些简单的指南。我遇到了问题,不明白发生了什么。是不是我的 Visual Studio 坏了?

我有:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Learning_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myNumbers = { 10, 20, 30, 40, 50 };
            for (int i = 0; i < myNumbers.Length; i++)
                Console.WriteLine(myNumbers[i]);
            //Console.WriteLine(myNumbers[0]);
            Console.Read();
        }
    }
}

我应该得到 10、20、30、40、50 的结果。但是,无论我将第一个数字设置为什么,我都会得到 224 作为我返回的第一个数字而不是 10。

我的 Visual Studio 刚刚坏了吗?

我已经卸载并重新安装,没有任何变化。创建了一个新项目并手动输入代码,没有任何变化。只要数组是 int,第一个值就会被返回为 224。它还接受数学运算,如果我说返回值并加一个,那么我得到 225。

也显示调试的屏幕截图。

其他编辑:

I've stripped this down to bare bones and regardless of how I do it, I still get the same results.

我已经卸载、重新安装、使用 Revo Uninstaller 来彻底清除 VS。星期二,除非有人有想法,否则我将重新映像我的计算机。

【问题讨论】:

  • 问题无法通过您发布的代码重现 dotnetfiddle.net/2kob2w
  • 您确定您没有运行其他项目吗?您的代码对我来说可以正常工作。
  • 不,您的 VS 安装没有损坏(可能)。不知何故,你只是在某个地方感到困惑。 VS 运行代码的屏幕截图以及您看到 224 弹出窗口的确切位置可能会有所帮助...
  • 添加了一个屏幕截图以显示确认错误的调试。这一定是我的VS安装对吗?除非有人有更好的主意,否则我将卸载重新安装以查看是否可以解决问题。
  • 听起来非常损坏的 VS 安装不太可能产生此特定错误。你的代码根本不会运行。您是否尝试过清理和重建项目?

标签: c# visual-studio


【解决方案1】:

我无法评论实际的解决方案,但它似乎是与 VS Community 2017 隔离的一个怪癖。我现在在 Pro 2017 上,完全相同的代码不会重现错误。我将把它归结为微软的一个错误。似乎确实有可用的解决方法,但是核心问题本身似乎是所有意图的特定于该版本 VS 的故障。除非其他人可以提供更好的信息,否则我会说由于 Microsoft 故障而将其关闭。

【讨论】:

  • 如果您只是将值打印到控制台会发生什么,那么您会得到不正确的值吗?因为如果不是,那只是调试器在起作用。
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
  • 2016-11-20
  • 2014-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多