计算填充的数组元素并将结果显示到标签中
Count the filled array elements and display result into label
我有一个string[] Brands = new string[10];
使用下面的代码,我给了它 4 个标准值。我可以使用添加按钮添加值。 (这部分代码我已经拿到了)
public Form1()
{
{
InitializeComponent();
Merken[0] = "Yamaha";
Merken[1] = "Suzuki";
Merken[2] = "Harley";
Merken[3] = "Kawasaki";
merkNr = 4;
listBoxMotoren.DataSource = Brands;
}
}
我想将数组的 FILLED 元素显示为`label.text.
因此,当我 运行 程序时,标签显示数字 4(因为数组的 4 个元素已填充)。当我使用 btnclick 向数组添加一个值时,标签需要显示数字 5 等等...`
您可以使用
获取 array
中的元素数量
Using System.LINQ
-----
Marken.Count();
你会有空白索引吗?
Merken[4] = ""
Merken[5] = "Honda"
如果您永远不会有空白索引,您可以将标签设置为:
[arrayName].length
这会将数组中的索引数加在一起。
编辑:OP 说会有空白索引
我建议遍历数组以查看哪些索引具有值,然后递增一个计数器,您将其设置为标签文本。
int indexesWithValues = 0;
for (int i = 0; i < Brands.length; i++)
{
if (Brands[i] != "")
{
indexesWithValues++;
}
}
然后将标签文本设置为计数器。
更简单的方法是使用 List<string>
并显示列表的 Count()
。列表是动态增长的数据结构,因此每次向列表添加项目时,列表都会自动增长。
如果你想使用数组,你可以从第一个元素开始并使用 String.IsNullorEmpty(string str)
和一个计数器,每次你找到一个既不为 null 也不为空的字符串时计数器就会递增。
点击 null/empty 字符串后,您将停止循环并显示计数器。
如果我将其解释得比实际情况更简单,请原谅我,但据我所知,您需要做的就是添加“[表单上的标签名称].Text = Merken.Count ().ToString();"在添加新项目的代码中。
您在设置中使用 Merken 但最初将其声明为 Brands 是否有特殊原因?
为什么你不使用 List
它有计数 属性。如果您需要导出数组,请调用 .ToArray() 方法来获取列表数组。
您可以使用 Linq
从 array
中获取填充元素的数量。
int count = Merken.ToList().Where(x => (!string.IsNullOrEmpty(x))).Count();
yourLabel.Text = count.ToString();
我有一个string[] Brands = new string[10];
使用下面的代码,我给了它 4 个标准值。我可以使用添加按钮添加值。 (这部分代码我已经拿到了)
public Form1()
{
{
InitializeComponent();
Merken[0] = "Yamaha";
Merken[1] = "Suzuki";
Merken[2] = "Harley";
Merken[3] = "Kawasaki";
merkNr = 4;
listBoxMotoren.DataSource = Brands;
}
}
我想将数组的 FILLED 元素显示为`label.text.
因此,当我 运行 程序时,标签显示数字 4(因为数组的 4 个元素已填充)。当我使用 btnclick 向数组添加一个值时,标签需要显示数字 5 等等...`
您可以使用
获取array
中的元素数量
Using System.LINQ
-----
Marken.Count();
你会有空白索引吗?
Merken[4] = ""
Merken[5] = "Honda"
如果您永远不会有空白索引,您可以将标签设置为:
[arrayName].length
这会将数组中的索引数加在一起。
编辑:OP 说会有空白索引
我建议遍历数组以查看哪些索引具有值,然后递增一个计数器,您将其设置为标签文本。
int indexesWithValues = 0;
for (int i = 0; i < Brands.length; i++)
{
if (Brands[i] != "")
{
indexesWithValues++;
}
}
然后将标签文本设置为计数器。
更简单的方法是使用 List<string>
并显示列表的 Count()
。列表是动态增长的数据结构,因此每次向列表添加项目时,列表都会自动增长。
如果你想使用数组,你可以从第一个元素开始并使用 String.IsNullorEmpty(string str)
和一个计数器,每次你找到一个既不为 null 也不为空的字符串时计数器就会递增。
点击 null/empty 字符串后,您将停止循环并显示计数器。
如果我将其解释得比实际情况更简单,请原谅我,但据我所知,您需要做的就是添加“[表单上的标签名称].Text = Merken.Count ().ToString();"在添加新项目的代码中。
您在设置中使用 Merken 但最初将其声明为 Brands 是否有特殊原因?
为什么你不使用 List 它有计数 属性。如果您需要导出数组,请调用 .ToArray() 方法来获取列表数组。
您可以使用 Linq
从 array
中获取填充元素的数量。
int count = Merken.ToList().Where(x => (!string.IsNullOrEmpty(x))).Count();
yourLabel.Text = count.ToString();