所以我试图从litview子项中获取ByteCount,但它总是显示负面错误: [参数OutOfRangeException未处理:'count'不能为负数,参数名称:count] 这是我得到错误的代码行:
bw.Write(enc.GetBytes(listView1.Items[i].SubItems[3].Text + (new string('\0',dbytecnt - enc.GetByteCount(listView1.Items[i].SubItems[3].Text)))));
我试过这个:
if (enc.GetByteCount(listView1.Items[i].SubItems[3].Text) > 0)
{
bw.Write(enc.GetBytes(listView1.Items[i].SubItems[3].Text + (new string('\0',dbytecnt - enc.GetByteCount(listView1.Items[i].SubItems[3].Text)))));
}
不起作用,甚至将if条件设为'> -1',相同的结果。
答案 0 :(得分:1)
参数ArgumentOutOfRangeException
上的count
例外。它可能是抛出此异常的字符串构造函数,而不是GetByteCount
。
这意味着减法dbytecnt - enc.GetByteCount(listView1.Items[i].SubItems[3].Text)
的结果是否定的。
试试这个:
if (dbytecnt - enc.GetByteCount(listView1.Items[i].SubItems[3].Text) > 0)
{
bw.Write(enc.GetBytes(listView1.Items[i].SubItems[3].Text + (new string('\0',dbytecnt - enc.GetByteCount(listView1.Items[i].SubItems[3].Text)))));
}