2016-04-16 5 views
-1

У меня есть строковый массив всех чисел, и мне нужно преобразовать его в double, чтобы впоследствии я мог делать что-то с этим, мне нужно сделать что-то вроде этого.Преобразование строкового массива чисел в двойной массив

static void Main(string[] args) 
    { 
     string[] String = File.ReadAllLines("../Program/Files/Numbers.txt"); 
     double[] Double = String; 
    } 

Я попытался использовать для цикла, чтобы преобразовать его построчно, но все, что я попытался дает мне ошибку:

Cannot implicitly convert type 'string' to 'double'

Я довольно новыми для C# кодирования и я не Не знаю других способов сделать это. Я думаю, что это должно быть просто, и я надеюсь, что я не слишком глуп, не в состоянии понять это.

Действительно ценим любую помощь, кто может дать :)

ответ

0

Вам необходимо пройти цикл, чтобы назначить каждую запись по отдельности. Предполагая, что каждая строка файла является собственным вводом данных, это не должно быть очень сложно сделать. В противном случае вы можете найти метод String.Split(), чтобы узнать, как его разбить. Пример может выглядеть примерно так:

string[] fileLines = File.ReadAllLines("../Program/Files/Numbers.txt"); 
double[] fileDouble = new double[fileLines.Length]; 
for(int i=0; i < fileLines.Length ; i++){ 
    Double.TryParse(fileLines[i], out fileDouble[i]); 
} 
2

Попробуйте использовать Linq ..

static void Main(string[] args) 
    { 
     string[] StringNumbers = File.ReadAllLines("../Program/Files/Numbers.txt"); 
     double[] Double = StringNumbers.ToList().ConvertAll(x=>Convert.ToDouble(x)).ToArray(); 
    } 

Convert.ToDouble: Преобразует указанное строковое представление числа в эквивалентное число с плавающей запятой двойной точности. Дополнительная информация here

Смежные вопросы