【发布时间】:2014-03-03 14:42:28
【问题描述】:
编辑最初的问题:计数和总重复出现在特定数组位置的数字 - 即数组 [34] 中有多少个 0。
更改为 DataGridView 列中唯一值的重复出现次数和总数
这是因为我觉得我问错了问题,而新问题更准确地说明了我在寻找什么
这正是我想要的:http://www.codeproject.com/Tips/421557/Counting-Unique-Products-in-a-DataGridView-and-Dis
我显然可以更好地描述这个问题。
我有一个填充了随机访问文件的字节数组,我想计算次数,比如说,0 或 127 出现在某个位置。目前,我可以将成功匹配的数量计算为几个数字,但问题是总计。我试过这个:(不出所料不起作用)
if (array[34] == 0)
{
Label_a.Text = "abc";
}
int res_a = Regex.Matches(array[34].ToString(), "0").Count;
如果我使用 res_a 创建一个 MessageBox,它会通过显示设置的消息来识别它是否为 0。但我想计算和汇总背景中出现的次数,总计数据将被填充到图表中。当前代码的总体布局:
// FileStream
// BinaryReader
// While length of file is larger than 0
// FileStream.Seek
// Foreach loop for array
// GET COUNT AND TOTAL HERE!
例如,我导入了一个包含 4 条不同状态记录的文件,其中状态码 127 重复了 3 次,而 0 只是一次。我想获取此信息 - 它发生了多少次!
另一个例子,这个文件有 12 条记录,其中状态码 127 重复了 6 次,0 也是 6:-
【问题讨论】:
-
你的框架版本支持 Linq 吗?
-
哦!是的,我使用的是 .NET Framework 3.5。
-
您在此处使用的字符串看起来很可疑。似乎您正在将数值转换为字符串并使用正则表达式来测试以字符串形式表示的数字的相等性。几个问题:当您不使用任何特定的正则表达式功能时,为什么在这里使用正则表达式?你的数组中有什么(它有什么类型)?
-
我真的不知道从哪里开始,所以只使用了正则表达式,并不惊讶它不起作用。该数组由 .bin 文件中的数据填充,然后将每个元素解码为字符串、int、datetime、long...