请教C#高手将VB的一个程序转为C#代码

yilianyin 2008-12-08 09:09:21
如题,代码如下:
Option Explicit

Dim i, j
Dim min, max, dimension, numCount
Dim dimen()
dim src()
Dim rst()

dimension = Request.Forms("txtDimension") '没个组合数字的个数
numCount = Request.Forms("txtNumCount") '数字的个数
min = 1 '最小值
max = numCount '最大值

'取得参加组合的数字
redim src(numCount)
for i=1 to numCount
src(i)=Request.Forms("txtNum" & i)
next

'从小到大排序
for i=1 to numCount-1
for j=i+1 to numCount
if src(i)>scr(j) then
src(0)=src(i)
src(i)=src(j)
src(j)=src(0)
end if
next j
next


ReDim dimen(dimension - 1) '初始各维的当前值
For i = 0 To dimension - 1
dimen(i) = min
Next i

ReDim rst(0) '初始结果数组
Do
If Not AddArray(dimen, min, max, dimension) Then Exit Do
ReDim Preserve rst(UBound(rst) + 1)
rst(UBound(rst)) = replacr2Src(dimen)
Loop

'输出结果
For i = 1 To UBound(rst)
Response.Write rst(i) & "<BR>"
Next

Private Function AddArray(ByRef theArray, ByVal lngMin, ByVal lngMax, ByVal lngDimen)
Dim i, j, currentDimen
currentDimen = 0
For i = lngDimen - 1 To 0 Step -1
If theArray(i) < lngMax Then
theArray(i) = theArray(i) + 1

If currentDimen > 0 Then
'去掉重复的值
currentDimen = lngDimen - currentDimen
For j = currentDimen To lngDimen - 1
theArray(j) = theArray(j - 1)
Next
If theArray(lngDimen - 1) = theArray(0) Then theArray(lngDimen - 1) = theArray(lngDimen - 1) + 1
If theArray(lngDimen - 1) > lngMax Then Exit For
End If

For j = lngDimen - 1 To 1 Step -1
If theArray(j) <= theArray(j - 1) Then
AddArray = AddArray(theArray, lngMin, lngMax, lngDimen)
Exit Function
End If
Next

AddArray = True
Exit Function
Else
currentDimen = currentDimen + 1
End If
Next
AddArray = False
End Function

private function replacr2Src(byval theArray)
'将组合结果替换成原始数字
Dim
For i = numCount to 1 step -1
for j=UBound(theArray)-1 to 0 step -1
if theArray(j)=i then
theArray(j)=src(i)
exit for
end if
next
next
replacr2Src=Join(theArray, ",")
end function
...全文
109 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yilianyin 2008-12-10
  • 打赏
  • 举报
回复
那我先试试吧
eyu660 2008-12-09
  • 打赏
  • 举报
回复
先用VS2005打开原VB项目,它会自动改为VB.NET代码,然后再用vb-to-csharp。
longjun1627 2008-12-09
  • 打赏
  • 举报
回复
VB与C#就是语法上有些不同而已呀
自己看着写出来,不就可以了吗?
killer_liqiao 2008-12-09
  • 打赏
  • 举报
回复
up
赵一一 2008-12-09
  • 打赏
  • 举报
回复
http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx
到这个网站转。很简单的。
不行的话。那就自己修改吧。
yilianyin 2008-12-09
  • 打赏
  • 举报
回复
那个网站我看了 ,只有Vb.net转C#的;
以上代码是老版本VB写的
dai78 2008-12-09
  • 打赏
  • 举报
回复
你先用VB.net把VB6.0的打开转换成VB.Net然后用转换工具转换成C#
ericllzh 2008-12-09
  • 打赏
  • 举报
回复
嗯。先转为VB.NET在转C#咯
ericllzh 2008-12-08
  • 打赏
  • 举报
回复
http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx
到这个网站转。很简单的。
ericllzh 2008-12-08
  • 打赏
  • 举报
回复
有一个自动转换的代码的网站。我找找
yilianyin 2008-12-08
  • 打赏
  • 举报
回复
自己先顶一个,呵呵 。

110,561

社区成员

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

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

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