在winform上加载文本文件并显示结果取决于条件

时间:2015-12-11 16:17:40

标签: c# text-files

我有一个文本文件(* .txt),如:

名1(制表符)地址1(制表符)的AGE-1
NAME2(制表符)地址2(制表符)AGE2岁
...

我希望在winform上显示

姓名1年龄1年轻(旧)
姓名2年龄2年轻(旧)
...

如果年龄<40岁则年轻,如果年龄> 40岁则年龄= 40岁 我是怎么做到的 感谢大家。

我的代码是:
      OpenFileDialog opd = new OpenFileDialog();

    private void btnOpenfile_Click(object sender, EventArgs e)
    {
        //Open txt file
        opd.Filter = "TXT|*.txt";
        //Choose File
        if (opd.ShowDialog() == DialogResult.OK)
        {
            lblFilename.Text = opd.SafeFileName;

        }
        var dulieu = File.ReadAllLines(opd.FileName);
        ////////////////////
        if (dulieu.Count() > 0)
        {
            foreach (var cellValues in dulieu.Skip(0))
             {
            var cellArray = cellValues
                .Split(new[] {'\t'}, StringSplitOptions.RemoveEmptyEntries);
            if (cellArray.Length == dtgBangketqua.Columns.Count)
                dtgBangketqua.Rows.Add(cellArray);
             }

        }


    }

我希望当我单击“值”按钮并在“年龄”列名称结果后面添加一列并显示“年轻”或“旧”。 在此Datagridview中,我隐藏了列地址。 Here is my app

1 个答案:

答案 0 :(得分:0)

我假设您的文件包含如下:&#34; Name1; Address1; Age1&#34;而不是(制表符),使用&#34;;&#34;。

string txt = File.ReadAllText(YOUR_PATH_TO_YOUR_FILE);
string[]items = txt.Split(";".ToCharArray());
string Name = items[0];
string Address = items[1];
string Age = items[2];

它只是读取文件并将其拆分。但是你必须使用循环来为每一行执行这个代码块。然后使用你的条件。

对于你的年龄条件:     if(Int(年龄)> = 40)年龄=年龄+&#34;(旧)&#34;