计算字符串[]中的项目数量?

时间:2013-01-31 23:27:14

标签: c# arrays string

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

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

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

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

5 个答案:

答案 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。 您可以使用

简单地获取TextBox的行
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
}