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

yilianyin yilianyin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题,代码如下:
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
...全文

相关推荐

VB033-金额小写转为大写 源代码

Visual Basic(VB)是一种流行的编程语言,尤其适合开发Windows应用程序。在这个例子中,源代码很可能是用VB编写的一个函数或过程,用于实现这个转换功能。以下是可能的实现方式:1.

勾之月

VB.NET到C#的代码转换工具指南

枚举(Enum)是用于定义一组命名常量的类型。尽管VB.NET和C#中的枚举在基本概念上是一致的,但它们的声明方式略有不同。例如,在VB.NET中定义枚举类型如下:FirstValueEnd Enum而在C#中,枚举的定义则稍显简洁:在进行代码转换时,需要注意枚举值在两种语言中的相同点和不同点,确保枚举的命名和值都能够正确地映射。除了通用的异常处理语法外,自定义异常类的转换也是代码迁移中的一项重要工作。

一人一猫浪迹天涯

VB与C#互转代码的实用工具包

本文还有配套的精品资源,点击获取 简介:VB和C#作为微软的编程语言,各具特色,其中VB适合初学者,而C#则面向对象且性能高效。本转码工具旨在为开发者提供VB与C#代码转换的功能,以帮助理解语言间相似性与差异性,支持语法解析与代码重构,实现高效多项目的转换,并保持代码格式,提供错误检查与修复建议,确保兼容性与更新。工具还包括安装程序、文档及链接资源,使得开发者能够灵活运用不...

周不宅

VB.NET 到 C# 代码转换工具:从VB.NET 到 C# 的自动化之旅

在软件开发的历史长河中,语言的进化和平台的演进不断地推动着技术创新。随着.NET平台的成熟,VB.NET和C#作为其中的两种主要编程语言,各自承载着不同的设计哲学和应用场景。然而,在某些情况下,开发者可能需要在两种语言之间转换代码,例如,重构项目、迁移代码库、或是为了利用C#的某些特定语言特性。本章将概述VB.NET与C#代码转换的重要性、挑战以及可能面临的场景。我们将分析两者在语法结构、编译时特性、运行时行为等方面的差异,并简述为何开发者会寻求进行代码转换。

被ldy取笑

好用的C#反编译工具软件

**Mono.Cecil**不同于以上图形化工具,Mono.Cecil是一个API库,允许程序员在代码中直接处理.NET程序集。

Main"0"
评论 11
收藏 已收藏
分享
返回顶部
yilianyin
C# 111,129 成员 642,539 内容