【问题标题】:User change value in the array用户更改数组中的值
【发布时间】:2014-03-05 16:46:42
【问题描述】:

在过去的一个小时里,我是 C# 的新手,我试图找到一个如何提供的教程 一种用户更改数组中任何元素的值的方法,它需要确保索引有效。你能帮助我或提供信息,以便我学习。由于我还是编程新手,因此我似乎无法找到它至少一点也不简单。

下面提供了我将使用的代码示例。

澄清:用户输入值将其切换为他们选择的索引值之一。

 int[] A = { -2, 5, -1, 9, -6, 23, 67, 1, -8, 7, -3, 90 };//<<< values
 ChangedArray(A);

 //Method down here returning value on top to display array
 static void ChangeArray(int[] array)
    {
        Console.WriteLine("\n=============\n");
        for (int i = 0; i < array.Length; i++)
        {
            Console.Write("{0}", array[i]);
        }
        Console.WriteLine("\n=============\n");
    }

【问题讨论】:

  • 您如何检测用户想要更改的值?他们想要使用什么价值?
  • 不清楚这里的问题是什么。您是在问如何接收用户输入?如何设置一个值?您是否尝试过某事并收到错误或观察到意外行为?
  • 接收用户输入,然后切换他们选择的索引,并根据用户输入切换该索引的值。
  • 你的调用函数名和实际函数名不同。请澄清你的问题。

标签: c# .net arrays methods


【解决方案1】:

这假定用户输入有效。

你可以索引数组,然后简单地赋值

 static void ChangeArray(int[] array)
{
    int index = Convert.ToInt32(Console.ReadLine());
    int newValue= Convert.ToInt32(Console.ReadLine());

    if(index <= array.Length && index >= 0)
    {
        array[index] = newValue;
    }
    Console.WriteLine("\n=============\n");
    for (int i = 0; i < array.Length; i++)
    {
        Console.Write("{0}", array[i]);
    }
    Console.WriteLine("\n=============\n");
}

【讨论】:

  • @TheBoringGuy 哈哈抱歉
【解决方案2】:

类似的东西:

public void Main(...)
{
    Try 
    {
        int[] myArray = { -2, 5, -1, 9, -6, 23, 67, 1, -8, 7, -3, 90 };
        int index = Convert.ToInt32(Console.ReadLine())
        int newValue = Convert.ToInt32(Console.ReadLine())
        ChangeArray(myArray,index, newValue);
    }
    Catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

static void ChangeArray(int[] array, int index, int newValue )
    {
        if (array.Length >= index || index < 0)
        {
            Console.WriteLine("\n=====No change========\n");
            return;
        }

        Console.WriteLine("\n=====Old values========\n");
        for (int i = 0; i < array.Length; i++)
            Console.Write("{0}", array[i]);

        array[index] = newValue;

        Console.WriteLine("\n\n======New values=======\n");
        for (int i = 0; i < array.Length; i++)
            Console.Write("{0}", array[i]);
    }

【讨论】:

    【解决方案3】:

    这假定来自控制台的有效输入和范围内的int[] A。我假设这就是您想要它的地方,因为您使用的是控制台方法。

      Console.Write("Index to edit:"); 
      int indexToChange = Convert.ToInt32(Console.ReadLine());
      Console.Write("To value:"); 
      int valueToSave = Convert.ToInt32(Console.ReadLine()); 
      A[indexToChange] = valueToSave;
    

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      • 2014-03-18
      • 2020-08-31
      • 1970-01-01
      相关资源
      最近更新 更多