-1

我用谷歌搜索了这个,找不到答案。

基本上,我有一个文本框。我想逐行阅读文本框。我有这个代码:

string[] lst = txt.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);

这会拆分每一行,但我无法修改或阅读它。我该怎么做呢?

4

5 回答 5

1

lst.Length将为您提供数组中元素的数量。除此之外,您将不得不在您的问题中更具体地了解您希望能够做什么。

于 2013-01-31T23:29:22.790 回答
0

您的问题不在于代码,而在于您的问题。

您需要展示更多内容,特别是在该语句之后如何使用 lst。以下属性将为您提供所需的东西。

lst.Length //holds the number of strings in lst.

您可以使用以下命令访问每个字符串:

string valueInIndex_i = lst[i];

您可以通过以下方式遍历其内容:

foreach(string thisString in lst)
{
     //do stuff with thisString
}
于 2013-01-31T23:45:27.237 回答
0

如果我理解正确,您需要逐行阅读,试试这个:

string[] lines = TextBox.Text.Split(new char[] { '\n' });
foreach(string line in lines)
{
   // read 'line' variable
}

这样,您将在 TexTbox 中获得一系列行。您还可以通过索引访问,使用lines[index].

你可以使用一个Length属性。

int total = lst.Length;

如果要指定要计数的字符,可以使用Count扩展方法。

// add the Linq namespace.
using System.Linq;

int total = lst.Count(c => c == "c");
于 2013-01-31T23:28:07.457 回答
0

我想您的 TextBox 的MultiLine属性设置为 True。你可以简单地得到你的文本框的行

string[] lines = textBox1.Lines;

已经在换行符处拆分。然后你可以迭代然后

for(int x=0; x<lines.Length; x++)
{
    if(!string.IsNullOrEmpty(lines[0])
         // process...
}

如果需要更改行,使用 for 的循环比使用 foreach 更可取

于 2013-01-31T23:30:58.090 回答
0
string line = null;
using(var sr = new StringReader(txt))
    while((line=sr.ReadLine()) != null)
        Console.WriteLine(line)
于 2013-01-31T23:31:38.507 回答