私はこの練習をしています。私は問題が何であるか分かりませんが、私はエラーが発生し続けています - 誰かが間違っていることを教えてくれますか?intからcharにエラーを変換できません。C#
未処理の例外:System.InvalidCastException:型 'System.String []'のオブジェクトを型 'System.IConvertible'にキャストできません。
at System.Convert.ToInt32(オブジェクト値)
at exercise_4.Program.Main(String [] args)D:\ Courses \ C#\ beginner \ visual studio \ section 6エクササイズ\エクササイズ4 \エクササイズ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