将字符串转换为int []返回不同的值

时间:2019-04-09 13:49:56

标签: c# int

Console.WriteLine("Enter first array");
        string firstArray = Console.ReadLine();
        Console.WriteLine("Enter second array");
        string secondArray = Console.ReadLine();

        //int[] first = new int[] { 1, 5, 8 };
        //int[] second = new int[] { 2, 4, 9 };
        int[] first = firstArray.Select(x => Convert.ToInt32(x)).ToArray();
        int[] second = secondArray.Select(x => Convert.ToInt32(x)).ToArray();

让用户输入数组。当我尝试将字符串值转换为实际数组时,数字是不同的。 例如,如果为第一个数组输入“ 1”。 “ 49”出现在[]首位

1 个答案:

答案 0 :(得分:1)

firstArray.Select会将您的字符串视为char[]。因此,正如SeM所说的“ char ch ='1'表示int为49”。

您将需要先分割字符串。例如,如果用逗号分隔,则应该执行以下操作:

firstArray.Split(',').Select(x => Convert.ToInt32(x)).ToArray();