c#将文本框(文件内容)行存储到数组中

时间:2017-08-17 09:38:37

标签: c# arrays textbox readfile windows-forms-designer

嘿我现在被卡住了。我有以下代码从文件中获取一行,基于特定的字符串并返回它,然后它可以被编辑,并应用回包含文件内容的文本框到最初从该字符串中获取的行。< / p>
    private void citationChange()
    {
        List<string> matchedList = new List<string>();

        string[] linesArr = File.ReadAllLines(fileName);

        //find matches
        for (int a = 0; a < linesArr.Length; a++)
        {
            string s = linesArr[a];
            if (s.Contains(citation))
            {
                matchedList.Add(linesArr[a]); //matched
                lineBeingEdited = a;
                break; //breaks the loop when a match is found
            }
        }

        //output
        foreach (string s in matchedList)
        {
            string citationLine = s;
            string[] lineData = citationLine.Split(',');
            editModuleComboBox.Text = lineData[1];
            selectedModuleLabel.Text = lineData[2];
            moduleTitleTextBox.Text = lineData[3];
            creditsTextBox.Text = lineData[4];
            semesterTextBox.Text = lineData[5];
            examWeightingTextBox.Text = lineData[6];
            examMarkTextBox.Text = lineData[7];
            testWeightingTextBox.Text = lineData[8];
            testMarkTextBox.Text = lineData[9];
            courseworkWeightingTextBox.Text = lineData[10];
            courseworkMarkTexbox.Text = lineData[11];
        }
    }

如何重新创建/更改此代码,但是如何读取文本框而不是文件?

由于

2 个答案:

答案 0 :(得分:2)

改变这个:

string[] linesArr = File.ReadAllLines(fileName);

为:

string[] linesArr = theTextBox.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

答案 1 :(得分:1)

在阅读文件时File.ReadAllLines基本上将整个文字拆分为\r\n。因此,您可以使用文本框中的文本执行此操作:

交换这一行:

string[] linesArr = File.ReadAllLines(fileName);

到此:

string[] linesArr = YourTextBox.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

或者这个:

string[] linesArr = YourTextBox.Text.Split(new char[] {'\r', '\n'});
相关问题