我有这个练习。我不知道问题出在哪里,但是我一直在收到错误 - 请问有人能帮我解决什么问题?无法从int转换为char错误c#
未处理的异常:System.InvalidCastException:无法强制类型为'System.String []'的对象键入'System.IConvertible'。
at System.Convert.ToInt32(Object value)
at exercise_4.Program.Main(String [] args)in D:\ Courses \ c#\ beginner \ visual studio \ section 6 exercise \ exercise 4 \ exercise 4 \ Program的.cs:行20
这是写在我的控制台
写一个程序,并要求用户提供逗号列表分隔的数字(如5,1,9,2,10) 。如果列表为空或包含少于5个数字,则显示“无效列表”并要求用户重试;否则,显示列表中最小的3个数字。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace exercise_4
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("write numbers seperated with coma");
var numbers = new List<int>();
var input = (Console.ReadLine());
var value = input.Split(',');
var conv =Convert.ToInt32(value);
numbers.Add(conv);
if (value.Length < 5)
{
Console.WriteLine("invalid list!! retry");
continue;
}
else
{
numbers.Sort();
Console.WriteLine(numbers[0] , numbers[1], numbers [2]);
}
}
}
}
}
感谢您的回答。
Split将返回数组。您不能将数组转换为num。您可能需要将每个数字转换为int。 – Kajal
Split返回一个字符串数组,即value是一个数组,是一个字符串数组。 ToInt32在这里需要一个字符串(或者一般来说任何实现IConvertible接口的类型),这是行不通的。您需要循环查看价值,转换每个条目并将其添加到您的数字列表中。 – ckuri