【问题标题】:C# how to extract values from for-loopC#如何从for循环中提取值
【发布时间】:2020-05-16 01:46:50
【问题描述】:

我是编程新手,被作业卡住了。

任务是输入 4 名不同工人的姓名、年龄和销售额。之后,我需要根据他们的销售额按顺序发布工人。

我最卡住的地方是循环部分。我不明白如何向 4 个工作人员插入值,然后按顺序返回它们的值。

        int pay = 1000;

            Console.WriteLine("What is the first- and lastname of the worker: ");
            string name = Convert.ToString(Console.ReadLine());
            Console.WriteLine("What is the age of the worker: ");
            int age = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("What district does the worker work at: ");
            string district = Convert.ToString(Console.ReadLine());
            Console.WriteLine("How many sales has the worker done: ");
            int sales = Convert.ToInt16(Console.ReadLine());

            Console.WriteLine("\n");

        Console.WriteLine("Name\t\tAge\tDistrict\tSales");
        Console.WriteLine(name + "\t" + age + "\t" + district + "\t\t" + sales);

        Console.WriteLine("\n");
        if (sales > 199)
        {
            pay = pay + sales * 4;
            Console.WriteLine(name + " is level 4 \nand will get: " + pay + "kr this month");
        }
        else if (sales <= 199 && sales >= 100)
        {
            pay = pay + sales * 3;
            Console.WriteLine(name + " is level 3 \nand will get: " + pay + "kr this month");
        }
        else if (sales <= 99 && sales >= 50)
        {
            pay = pay + sales * 2;
            Console.WriteLine(name + " is level 2 \nand will get: " + pay + "kr this month");
        }
        else
        {
            pay = pay + sales;
            Console.WriteLine(name + " is level 1\nand will get: " + pay + "kr this month");
        }

~ 请原谅混乱,我还没有学习正确的编码结构。

【问题讨论】:

  • 请分享您已经编写的代码,与社区分享您的努力很重要,这样我们才能更好地帮助您,编辑您的问题并添加您编写的代码,无论它是否正确与否。

标签: c# loops for-loop return


【解决方案1】:

这个 Worker 类将保存一个工人的信息:

public class Worker() 
{
    string Name;
    int NumberOfSales;
    int Age;

    public Worker(string _n, int _nos, int _a) 
    {
        Name = _n;
        NumberOfSales = _nos;
        Age = _a;
    }
}

这段代码会运行4次,获取worker信息,为每个人创建Worker对象,然后将对象添加到WorkersList对象中:

List<Worker> Workers = new List<Workers>();
int Worker = 1;
for (int i = Worker; i < 5; i++)  
{
    Console.WriteLine("Enter name for Worker {0}", Worker);
    name = Console.ReadLine();
    Console.WriteLine("Enter age for Worker {0}", Worker);
    age = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("Enter number of sales for Worker {0}", Worker);
    nOfSales = Convert.ToInt32(Console.ReadLine());
    Worker worker = new Worker(name, age, nOfSales);
    Workers.Add(worker);
}

在以下链接中,您可以通过查看每个Worker 对象的NumberOfSales 属性来了解如何对Workers 列表对象进行排序:How to Sort a List<T> by a property in the object

【讨论】:

    猜你喜欢
    • 2018-03-05
    • 1970-01-01
    • 2017-09-17
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2019-02-28
    • 2023-03-10
    相关资源
    最近更新 更多