首页 > 解决方案 > 直接来自用户在控制台中的动态输入

问题描述

在以下代码中;

for (int i = 0; i < 5; i++)
        {
            dynamic x;
            x = Console.ReadLine(); //readline methode returns string.
            Console.WriteLine(x.GetType().ToString());
        }

我试图做一个简单的概念,用户想输入 5 个不同类型数据的元素,然后每次都会出现。

问题是,ReadLine 将始终以字符串形式返回值,我可以使用 convert 但仍然会强制用户输入唯一的转换类型。

我一直在寻找,但真的不知道该怎么做,因为我不知道如何表达这个问题。

是否有另一种方法可以从用户或我不知道的属性动态获取输入。

标签: c#dynamicconsole

解决方案


不,没有其他方法可以接受来自控制台的用户输入。它总是文本/字符串。

您必须将输入从Console.ReadLine()字符串解析为您需要的任何类型。您的问题是,如果您只有一个字符串,则无法知道类型是什么。如果用户输入“2”,她的意思是数字 2(int)还是她实际上的意思是“2”(字符串)。


推荐阅读