牛骨文教育服务平台(让学习变的简单)
博文笔记

C#从文本文件中获取二维数组

创建时间:2016-06-25 投稿人: 浏览次数:573

文本文件如图:

这里写图片描述


在WPF窗口点击一个按钮,打开文件选择对话框,选择文件,调试看看ee[n1,m1]是否读到

namespace WpfApplication1
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 读取一个文本文件。获取一个2维数组
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //通过OpenFileDialog()方法,获取文件
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "文本文件|*.txt";
            //如果没有选择文件,而是点了取消,就return
            if (ofd.ShowDialog() != true)
            {
                return;
            }
            string filename = ofd.FileName;
            //IEnumerable<string> lines = File.ReadAllLines(filename, Encoding.Default);
            string[] lines = File.ReadAllLines(filename, Encoding.Default);
            //n数组行数,m数组列数
            int n = 0, m = 0;
            //得到n,m
            foreach (string line in lines)
            {
                n++;
                string[] seges = line.Split("|");
                int length = seges.Length;
                foreach (string s in seges)
                {
                    m++;
                }
            }
            //声明一个数组,用来存从文件读取的数据
            int[,] ee = new int[n, m/n];
            //n1为行,m1为列
            int n1 = 0;
            foreach (string  line in lines)
            {
                string[] seges = line.Split("|");
                int length = seges.Length;
                int m1 = 0;
                foreach (string  s in seges)
                {
                    int  a = int.Parse(seges[m1]);
                    ee[n1,m1] = a;
                    m1++;
                }
                n1++;
            }
            //调试用,设个断点,看看ee[n1,m1]是否正确
            Console.WriteLine("");
        }
    }
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。