0

所以我试图从 litview 子项中获取 ByteCount,但它总是显示负面错误:[Argument OutOfRangeException was unhandled: 'count' must not be negative, Parameter name: 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',结果相同。

4

1 回答 1

1

例外是ArgumentOutOfRangeExceptionon 参数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)))));
}
于 2013-07-23T00:40:28.583 回答