计算填充的数组元素并将结果显示为标签

时间:2016-01-14 10:07:08

标签: c# arrays visual-studio label

我有var mockDbSet = new Mock<DbSet<Person>>(); mockDbSet.Setup(x => x.Add(It.IsAny<Person>())) .Returns<Person>(p => p); var mockContext = new Mock<IHiveTiesContext>(); mockContext.Setup(x => x.People) .Returns(mockDbSet.Object); ...

使用以下代码,我给它4个标准值。我可以使用添加按钮添加值。 (我已经得到了这部分代码)

string[] Brands = new string[10];

我想将数组的FILLED元素显示为`label.text。

因此,当我运行程序时,标签显示数字4(因为数组的4个元素被填充)。当我使用btnclick向数组添加值时,标签需要显示数字5,依此类推......“

6 个答案:

答案 0 :(得分:1)

您可以使用Linq来计算来自array的已填充元素的数量。

int count = Merken.ToList().Where(x => (!string.IsNullOrEmpty(x))).Count();
yourLabel.Text = count.ToString();

答案 1 :(得分:0)

你会有空白的索引吗?

Merken[4] = ""
Merken[5] = "Honda"

如果您没有空白索引,可以将标签设置为:

[arrayName].length

这将把数组中的索引数加在一起。

编辑:OP说会有空白索引

我建议循环遍历数组以查看哪些索引具有值,然后递增一个您将设置为标签文本的计数器。

int indexesWithValues = 0;
for (int i = 0; i < Brands.length; i++)
{
   if (Brands[i] != "")
   {
       indexesWithValues++;
   }
}

然后将标签文本设置为计数器。

答案 2 :(得分:0)

更简单的方法是使用List<string>并显示列表的Count()。列表是动态增长的数据结构,因此每次将项添加到列表时,列表都会自动增长。

如果你想使用数组,你可以从第一个元素开始并使用String.IsNullorEmpty(string str)和一个计数器,每当你找到一个既不为null也不为空的字符串时,该计数器会递增。

一旦你点击一个空/空字符串,你就停止循环并显示计数器。

答案 3 :(得分:0)

请原谅我,如果我将此解释为比它更简单,但据我所知,你需要做的就是添加&#34; [表格上的标签名称] .Text = Merken。 COUNT()的ToString();&#34;在添加新项目的代码中。

您是否有特殊原因在设置中使用了Merken但最初将其声明为Brands?

答案 4 :(得分:0)

为什么你不使用List 它有Count属性。如果你需要数组用于导出,你可以调用.ToArray()方法来获取列表的数组。

答案 5 :(得分:-1)

您可以使用

获取array中的元素数量
Using System.LINQ  
-----

Marken.Count();