C# 源数组长度不足。请检查 srcIndex 和长度以及数组的下限。

cookie燕子 2014-01-15 10:13:17
string strConn = "Data Source=127.0.0.1;Initial Catalog=zy;User ID=sa;Password=229107my229107m";
SqlConnection ConnAcc = new SqlConnection(strConn);
string strSQL = "SELECT * FROM Group_SGK3 ";
SqlDataAdapter de = new SqlDataAdapter(strSQL, ConnMdb);
try
{
//da.Fill(dt);
dtData.Clear();
de.Fill(dtData);

}
catch
{
break;
}
for (int n = 0; n < 7; n++)
{
int GK;
foreach (DataRow rdr in dtData.Rows)
{

int SGK = Convert.ToInt32(rdr["SGK"]);
GK = SGK << n;


if (Convert.ToBoolean(rdr["state1"]))
{


byte[] gk = new byte[8];
Array.Copy(HexStrToHexBytes(GK.ToString()), 0, gk, 7, 1);
Array.Copy(HexStrToHexBytes(dr["pdk"].ToString()), 0, pdk, 7, 1);// pdk buf: 0,0,0,0,0,0,0,0xcd
;
SKeyValue = SKeyValue1;
byte[] EncryptSk = EncryptDES(SKeyValue, gk);


EDS[6] = 0x01;
Array.Copy(EncryptSk, 0, EDS, 7, EncryptSk.Length);
//Thread.Sleep(5);
}
else
{


请问: Array.Copy(HexStrToHexBytes(GK.ToString()), 0, gk, 7, 1);这行提示错误说“源数组长度不足。请检查 srcIndex 和长度以及数组的下限。”这是怎么回事呢?应该怎么改?请各位大师指点!
...全文
1696 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cookie燕子 2014-01-15
  • 打赏
  • 举报
回复
我的GK是通过SGK移位得来的,SGK在数据库中是int型,值为1,这个有8字节吗?我是初学者,不是太懂。。
threenewbee 2014-01-15
  • 打赏
  • 举报
回复
HexStrToHexBytes(GK.ToString())返回了什么,有没有8个字节?
threenewbee 2014-01-15
  • 打赏
  • 举报
回复
引用 2 楼 u013470910 的回复:
我的GK是通过SGK移位得来的,SGK在数据库中是int型,值为1,这个有8字节吗?我是初学者,不是太懂。。
如果你的数组只有5个字节(比如说),你让array.copy从第8个字节开始拷贝一个字节,那显然出错。
cookie燕子 2014-01-15
  • 打赏
  • 举报
回复
那我在数据库中设置成11,这样HexStrToHexBytes(GK.ToString())就有8字节了吗?就不会出错是吗?
Regan-lin 2014-01-15
  • 打赏
  • 举报
回复
引用 2 楼 u013470910 的回复:
我的GK是通过SGK移位得来的,SGK在数据库中是int型,值为1,这个有8字节吗?我是初学者,不是太懂。。
值为1这怎么够字节啊,int是占4个字节的
F546445693 2014-01-15
  • 打赏
  • 举报
回复
对于这种问题,自己单步调试下就可以出来了! 长度不足,肯定是数组超出了。for已经写死了7个长,看看你数据有没有这么长就知道了,最好根据你数据长来for循环,别写死。
内容概要:本文围绕四开关Buck-Boost变换器的建模分析与闭环仿真性能展开研究,重点探讨其在Simulink环境下的稳压控制特性与系统动态响应。通过建立精确的状态空间平均法数学模型,设计基于PI调节器的闭环控制系统,并结合仿真手段验证了变换器在不同输入电压和负载条件下的输出电压稳定性与抗扰动能力。研究涵盖主电路拓扑结构、工作模态分析、小信号建模、控制器参数整定及Simulink仿真平台搭建等关键技术环节,实现了对升降压过程的平滑切换与高性能电压调节。同时,文中强调科研过程中应注重逻辑思维与创新意识的培养,倡导借助成熟仿真工具提升研究效率与系统设计水平。; 适合人群:具备电力电子技术基础、熟悉Simulink仿真环境,从事新能变换系统、电设计等相关方向的研究生或工程技术人员。; 使用场景及目标:①掌握四开关Buck-Boost变换器的工作原理与状态空间建模方法;②学习基于Simulink的闭环控制器设计与动态性能仿真验证流程;③为电力电子变换器的稳定性分析、控制器优化及工程化实现提供理论支持与实践参考。; 阅读建议:建议读者结合文中的仿真模型逐步操作,重点关注电路工作模态推导与控制器设计部分,深入理解系统稳定性判据与参数 tuning 方法,同时关注科研方法论的引导,提升系统性思维与仿真实践能力。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧