Vb.net 创建一个函数,使用redim preserve在动态数组中输入a到z

Vb.net 创建一个函数,使用redim preserve在动态数组中输入a到z,vb.net,Vb.net,我正在学习VB脚本,我对这个概念非常陌生 请告诉我如何写下面的程序 创建一个函数,使用redim preserve在动态数组中输入a到z 谢谢 库马尔欢迎来到堆栈溢出。请确保在提出任何后续问题之前阅读。特别是,请注意,堆栈溢出不是一种代码编写服务。换句话说,我们鼓励您首先尝试自己的解决方案,并将其与您的问题中的任何研究成果一起发布,我们可能会帮助您修复代码中的错误,或者为您指出其他地方的解决方案 也就是说,我知道您正在学习VB,而我碰巧已经有了一个片段来完成您正在寻找的内容,所以这里是: Con

我正在学习VB脚本,我对这个概念非常陌生

请告诉我如何写下面的程序

创建一个函数,使用redim preserve在动态数组中输入a到z

谢谢
库马尔

欢迎来到堆栈溢出。请确保在提出任何后续问题之前阅读。特别是,请注意,堆栈溢出不是一种代码编写服务。换句话说,我们鼓励您首先尝试自己的解决方案,并将其与您的问题中的任何研究成果一起发布,我们可能会帮助您修复代码中的错误,或者为您指出其他地方的解决方案

也就是说,我知道您正在学习VB,而我碰巧已经有了一个片段来完成您正在寻找的内容,所以这里是:

Const StartChar = "a"c
Const EndChar = "z"c
Dim converterOp As New Func(Of Char, Integer)(Function(input As Char) Char.ConvertToUtf32(input, 0))
Dim result() As Char = {}

For i = converterOp(StartChar) To converterOp(EndChar)
    ReDim Preserve result(UBound(result) + 1)
    result(UBound(result)) = CChar(Char.ConvertFromUtf32(i))
Next
给定一系列字符中的起始字符和结束字符(在本例中为
“a”c
“z”c
),它将两个字符转换为其Unicode码点值,以便在
循环中从开始到结束进行数字循环。在每个循环迭代中,它向数组末尾添加一个新的数组元素,将当前循环索引(也就是介于起始字符和结束字符之间的Unicode代码点)转换回一个字符,并用该字符填充新的数组元素

我知道您特别想使用
ReDim Preserve
来执行此操作,但这是一种更有效的方法,因为它不会在每次循环迭代中产生重新确定数组尺寸的开销:

Const StartChar = "a"c
Const EndChar = "z"c
Dim converterOp As New Func(Of Char, Integer)(Function(input As Char) Char.ConvertToUtf32(input, 0))
Dim intStartCodePoint = converterOp(StartChar)
Dim intEndCodePoint = converterOp(EndChar)
Dim result(intEndCodePoint - intStartCodePoint) As Char
Dim arrIndex = 0

For i = intStartCodePoint To intEndCodePoint
    result(arrIndex) = CChar(Char.ConvertFromUtf32(i))
    arrIndex += 1
Next
这里的区别在于,它在进入循环之前对数组进行尺寸标注,使用开始和结束代码点来计算数组的大小


我希望这能有所帮助。

请展示您自己的努力。这实际上是.Net吗?…还是VBScript(.vbs)?为什么会有这么奇怪的要求?动态数组到底意味着什么?您只需执行以下操作:Dim letters()作为Char=“abcdefghijklmnopqrstuvxyz”.ToCharArray()