Ошибка при добавлении из файла в DataTable - C#

Узнай цену своей работы

Формулировка задачи:

class Program
    {
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Id", typeof(string)));
            dt.Columns.Add(new DataColumn("price", typeof(decimal)));
            dt.Columns.Add(new DataColumn("type", typeof(string)));
            var data = Directory.EnumerateFiles("text_files", "*.txt", SearchOption.TopDirectoryOnly).Select(File.ReadAllText);
 
            foreach (var v in data)
            {
                foreach (var s in v.Split('\n','\t'))
                {
                    var ss = s.Split();
                    DataRow nr = dt.NewRow();
                    nr[0] = Convert.ToString(ss[0]);
                    nr[1] = Convert.ToDecimal(ss[1]);
                    nr[2] = ss[2];
                    dt.Rows.Add(nr);
                }
            }
            string str = dt.Rows[0][0].ToString();
            Console.WriteLine(str);
        }
    }
Нужно прочитать все файлы в папке и занести их в DataTable. Пример файла: or17 200.00 legal gf66 120.00 quotient Разделителем между данным может быть пробел или таб. Выдает ошибку в строке:
nr[1] = Convert.ToDecimal(ss[1]);
Индекс находился вне границ массива. Подскажите в чем проблема?

Решение задачи: «Ошибка при добавлении из файла в DataTable»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace _1139717
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            dataBindingSource.DataSource = DataConverter.Convert("data.txt");
            dataBindingSource.ResumeBinding();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы