我用谷歌搜索了这个,找不到答案。
基本上,我有一个文本框。我想逐行阅读文本框。我有这个代码:
string[] lst = txt.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
这会拆分每一行,但我无法修改或阅读它。我该怎么做呢?
lst.Length
将为您提供数组中元素的数量。除此之外,您将不得不在您的问题中更具体地了解您希望能够做什么。
您的问题不在于代码,而在于您的问题。
您需要展示更多内容,特别是在该语句之后如何使用 lst。以下属性将为您提供所需的东西。
lst.Length //holds the number of strings in lst.
您可以使用以下命令访问每个字符串:
string valueInIndex_i = lst[i];
您可以通过以下方式遍历其内容:
foreach(string thisString in lst)
{
//do stuff with thisString
}
如果我理解正确,您需要逐行阅读,试试这个:
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");
我想您的 TextBox 的MultiLine
属性设置为 True。你可以简单地得到你的文本框的行
string[] lines = textBox1.Lines;
已经在换行符处拆分。然后你可以迭代然后
for(int x=0; x<lines.Length; x++)
{
if(!string.IsNullOrEmpty(lines[0])
// process...
}
如果需要更改行,使用 for 的循环比使用 foreach 更可取
string line = null;
using(var sr = new StringReader(txt))
while((line=sr.ReadLine()) != null)
Console.WriteLine(line)