如何将输入的用户值添加到 C# 中的表?返回最大值和最小值?

分享于2023年02月22日 add append c# null user-input 问答
【问题标题】:How I can add input user value to table in C#? To return max and min value?如何将输入的用户值添加到 C# 中的表?返回最大值和最小值?
【发布时间】:2023-02-21 05:00:25
【问题描述】:
using System;
using System.Data;

namespace ConsoleMinMax
{
    class MinMaxValue
    {
        static void Main(String[] args)
        {
            int[] tableWithValue = { 0, 0, 0, 0, 0 }; //This is a wrong way
            int i = 0;

            for (; i < 5; i++)
            {

                Console.WriteLine("Get number");
                int number = Convert.ToInt32(Console.ReadLine());
                tableWithValue[i] += number;

            }

            Console.WriteLine("Min value: " + tableWithValue.Min());
            Console.WriteLine("Max value: " + tableWithValue.Max());
        }

    }
}

我尝试用用户输入创建一个新表来检查最大值和最小值。但我不知道如何将用户输入值添加到表中。我认为该值可能会像在 Python 中一样添加方法 tableWithValue.Append(number) 但在 C# 中不起作用。请帮忙。

  • tableWithValue[i] += number; - 为什么 +=

【解决方案1】:

为了使用 林克 ,在你的情况下 .Min() .Max() 你应该添加 using System.Linq

using System;
using System.Data;
using System.Linq; // <- you are going to query with a help of Linq (Min, Max etc.)

...

            // It should compile now
            Console.WriteLine($"Min value: {tableWithValue.Min()}");
            Console.WriteLine($"Max value: {tableWithValue.Max()}");
...

稍微刷一下你的代码:

using System;
using System.Data;
using System.Linq;

namespace ConsoleMinMax
{
    class MinMaxValue
    {
        static void Main(String[] args)
        {
            // Array of 5 items
            int[] tableWithValue = new int[5];
            
            // do not use magic contsants - 5 - but tableWithValue.Length 
            for (int i = 0; i < tableWithValue.Length; i++)
            {
                Console.WriteLine("Get number");
                //TODO: Better int.TryParse to validate user input
                int number = Convert.ToInt32(Console.ReadLine());
                // why +=? Just assign =
                tableWithValue[i] = number;
            }

            // Time to simple Linq 
            Console.WriteLine($"Min value: {tableWithValue.Min()}");
            Console.WriteLine($"Max value: {tableWithValue.Max()}");
        }
    }
}

【讨论】:

  • 非常感谢你。这 100% 解决了我的问题 :)