为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C#中的字典中进行用户输入?

如何在C#中的字典中进行用户输入?

C#
牛魔王的故事 2023-08-20 14:48:53
我想制作一本接受用户输入和空格的字典。字典接受输入字符串和整数。我尝试通过数组提供输入,但不知道如何在两个数组中同时使用空格进行用户输入。Dictionary<string, int> Directory = new Dictionary<string, int>();int n = int.Parse(Console.ReadLine());string[] name = new string[n];int[] phone_no = new int[n];for (int i = 0; i < n; i++)}    name[i] = Console.ReadLine();    phone_no[i] = int.Parse(Console.ReadLine());}for (int i = 0; i < n; i++){    Directory.Add(name[i], phone_no[i]);}我需要帮助进行用户输入,例如:1.山姆 123456782.哈里25468789
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

请注意,电话号码不是整数,而是字符串。它可能以零开头,如果您将其解析为 int,则会丢失前导零(0123456789 变为 123456789)。另外,我认为“+31 (0)6-12345678”是一个有效的电话号码。


这是一个可以完成您想要的操作的示例。它会不断请求输入,直到用户输入“exit”并用电话号码更新姓名。


public static void Main()

{

    var directory = new Dictionary<string, string>();


    // Keep requesting inputs

    while (true)

    {

        string input = Console.ReadLine();


        // provide a possibility to break the loop.

        if (input == "exit")

        {

            break;

        }


        string[] items = input.Split(' ', StringSplitOptions.RemoveEmptyEntries);

        if (items.Length != 2)

        {

            Console.WriteLine("Expecting '{Name} {Phonenumber}'");

            continue;

        }


        directory[items[0]] = items[1];

    }


    // TODO: Do something with directory

}


查看完整回答
反对 回复 2023-08-20
?
精慕HU

TA贡献1845条经验 获得超8个赞

您可以使用 String.Split() 分割行,即


var pair = Console.ReadLine().Split(' ');

Dictionary.Add(pair[0], int.Parse(pair[1]))


查看完整回答
反对 回复 2023-08-20
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

static void Main(string[] args)

    {

        Dictionary<string, int> Directory = new Dictionary<string, int>();

        Console.WriteLine("Enter the Number of inputs");

        int count = int.Parse(Console.ReadLine());

        for (int i = 0; i < count; i++)

        {

            Console.WriteLine("Enter the Name " + i + 1 + " : ");

            string Name = Console.ReadLine();

            Console.WriteLine("Enter the Age " + i + 1 + " : ");

            int Age = Convert.ToInt32(Console.ReadLine());

            Directory.Add(Name, Age);

        }

        Console.WriteLine("Press key to display the contents of your dictionary..");

        Console.ReadLine();

        foreach (var item in Directory)

        {

            Console.WriteLine("Name : " + item.Key);

            Console.WriteLine("Age : " + item.Value);

        }

        Console.ReadLine();

    }

工作小提琴


查看完整回答
反对 回复 2023-08-20
  • 3 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信