请求指点,c#

图呐 2007-12-31 07:49:46
public void BandAndDiagonalCalculate(int nTotalElem, int nTotalDOF, Element[] pElem,
out int pElemDOF, out int pDiag) //半带宽与对角元地址计算
{
int nMinDOF; //最小自由度编号
int nBuffer; //数据缓冲
int nDOFIndex; //自由度编号
int i, j;
for (i = 1; i < nTotalDOF; i++) //各行半带宽置一
#region
{
pDiag[i] = 1;
}
#endregion
for (i = 0; i < nTotalElem; i++) //计算半带宽
#region
{
for (j = 0; j < 2; j++) //从弹簧单元2个节点位移编号中选出最小号
{
if (pElemDOF[i,j] < nMinDOF) //最小值筛选
{
nMinDOF = pElemDOF[i,j];
}
}
for (j = 0; j < 2; j++) //弹簧元2个节点位移
{
nDOFIndex = pElemDOF[i,j]; //节点自由度编号为单元自由度编号
nBuffer = nDOFIndex - nMinDOF + 1; //计算半带宽,各单元两点编号之差最大值+1
if (nBuffer > pDiag[nDOFIndex] && nBuffer <= nDOFIndex + 1)
{
pDiag[nDOFIndex] = nBuffer;
}
else if (nBuffer > nDOFIndex + 1)
{
pDiag[nDOFIndex] = nDOFIndex + 1;
}
}
}
#endregion
pDiag[0] = 0; //首对角元地址赋值
for (i = 1; i < nTotalDOF; i++) //弹簧元总自由度下对角元地址组装
#region
{
pDiag[i] = pDiag[i] - pDiag[i - 1]; //对角元地址组装
}
#endregion
}
...全文
130 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
图呐 2008-01-01
  • 打赏
  • 举报
回复
拜托了,大家
图呐 2008-01-01
  • 打赏
  • 举报
回复
拜托了,大家
图呐 2008-01-01
  • 打赏
  • 举报
回复
可是程序里我已经赋值了呀?
gs0038 2008-01-01
  • 打赏
  • 举报
回复
Out是不要初始化
但是有点要求是:在方法内必需是被修改了才行
图呐 2008-01-01
  • 打赏
  • 举报
回复
痛苦啊,为什么c#和c++差这么多
afeny 2008-01-01
  • 打赏
  • 举报
回复
初学者 学习下
图呐 2008-01-01
  • 打赏
  • 举报
回复
顶呀顶呀
图呐 2007-12-31
  • 打赏
  • 举报
回复
非常感谢大家,我错了……
public void BandAndDiagonalCalculate(int nTotalElem, int nTotalDOF, Element[] pElem,
out int[,] pElemDOF, out int[] pDiag) //半带宽与对角元地址计算
但是我改成这样后,vs报错变成这样了
使用未赋值out参数 pDiag[i]
使用未赋值out参数pDiag[nDOFIndex]
控制离开当前方法之前必须对out参数pDiag[i]赋值
控制离开当前方法之前必须对out参数pDiag[i]赋值

不是说out是变量返回值吗?又不是ref,怎么还要我赋值?
大家能否指导一下,谢谢

suxiaohua 2007-12-31
  • 打赏
  • 举报
回复
pDiag是变量吧,不能有[],是不是应该是int[] pDiag
fish_yht 2007-12-31
  • 打赏
  • 举报
回复
int?int[]?
zlin_king 2007-12-31
  • 打赏
  • 举报
回复
哥们,你太粗心了吧。。
public void BandAndDiagonalCalculate(int nTotalElem, int nTotalDOF, Element[] pElem,
out int pElemDOF, out int pDiag)

你的pDiag不是数组,怎么用索引啊?
VS已经告诉你了"int"不能用[],改成“int[]”就可以了。
图呐 2007-12-31
  • 打赏
  • 举报
回复
红色部分vs报错,
无法将带[]的索引符应用于“int”类型的表达式??
不知如何修改,望赐教

111,098

社区成员

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

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

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