我用谷歌搜索了这个并且找不到答案。
基本上,我有一个TextBox。我想逐行阅读文本框。我有这段代码:
string[] lst = txt.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
这会拆分每一行,但我无法修改或读取它。我该怎么做?
答案 0 :(得分:1)
lst.Length
将为您提供数组中的元素数量。除此之外,你必须更加具体地了解你想要做什么。
答案 1 :(得分: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");
答案 2 :(得分:0)
我认为你的TextBox将MultiLine
属性设置为True。
您可以使用
string[] lines = textBox1.Lines;
已经在换行符char上拆分了。 然后你可以迭代
for(int x=0; x<lines.Length; x++)
{
if(!string.IsNullOrEmpty(lines[0])
// process...
}
如果需要更改行
,使用for的循环优于使用foreach答案 3 :(得分:0)
string line = null;
using(var sr = new StringReader(txt))
while((line=sr.ReadLine()) != null)
Console.WriteLine(line)
答案 4 :(得分: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
}