Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在循环中定义时如何访问字符串的值

在循环中定义时如何访问字符串的值
EN

Stack Overflow用户
提问于 2019-06-27 11:56:37
回答 1查看 131关注 0票数 0

我想在声明新变量时访问字符串的值,这样我就可以在循环中声明新变量。

我尝试了val(),创建了一个函数。我的问题的简化版本可以在下面的代码中找到。

代码语言:javascript
运行
AI代码解释
复制
Function StudentValue(x As String) As String
   StudentValue = x
End Function


Public Sub TEST()

    Dim i As Integer
    Dim strName As String
    Dim n As Integer

    n = 20

    For i = 1 To n
        strName = "Variable" & CStr(i)

        'The problem occurs with the next two lines,
        'once active they create a string with the name 'strName' and not the
        'value of the string eg 'Variable1', 'Variable2', ect

        'Attempt1
        'Dim strName As String
        'Attempt2
        'Dim NameFunction(strName) As String
    Next i

End Sub

错误如下:

代码语言:javascript
运行
AI代码解释
复制
Dim strName As String results in "compile error: Duplicate declaration in current scope"

Dim NameFunction(strName) As String results in "compile error: Constant expression required"

有没有一个函数可以让你在声明变量时访问字符串的值?

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 12:24:22

你得到了“重复声明”错误,因为你试图用相同的名称声明一个变量。

因为Dim XYZ() as string是用于声明数组的语法,所以会出现错误"Constant expression required“错误。括号内的值指定数组的大小,并且必须是常量。

Here is a link on how to use arrays.

使用Option Explicit,它将帮助你在问题出现之前解决问题。

这是使用数组的代码。

代码语言:javascript
运行
AI代码解释
复制
    Option Explicit

    Function StudentValue(x As String) As String
       StudentValue = CStr(x)
    End Function


    Public Sub TEST()
        Const MaxNumNames As Integer = 20

        Dim i As Integer
        Dim strNames(1 To MaxNumNames) As String

        For i = 1 To MaxNumNames
            'This will populate the array of names
            strNames(i) = "Variable" & CStr(i)

            'To use the name in the loop
            Debug.Print "In Loop:" & strNames(i)
        Next i

        'To use the name outside the loop (Show 5th name)
        Debug.Print "Outside Loop: " & strNames(5)
        ' To use the name in your function outside the loop (Using 2nd Name)
        Debug.Print "Using Function: " & StudentValue(strNames(2))
    End Sub
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56790453

复制
相关文章
Java 如何优雅的在循环中删除元素
如果集合中的元素唯一,也就是说只删除集合中符合条件的一个元素,以下用法也是没问题的
鱼找水需要时间
2023/02/16
1.5K0
关于for循环中变量定义的位置
这是我们正常习惯写的代码。同事的意思是说如果照上面那样写因为每循环一次,obj的变量就要在堆栈上分配一段空间,造成浪费。应该把obj的定义拿到for代码块的外面这样可以少分配一些内存提高效率,代码如下:
MJ.Zhou
2022/05/07
1.4K0
关于for循环中变量定义的位置
在定义adt时_ScriptableObject
Mutators 变值器(改变对象属性的方法) 通常范围void,如果返回void,则必然意味着它改变了某些对象的内部状态,也可能范围非空类型(如容器类的put、add方法)
全栈程序员站长
2022/10/02
3120
在 for 循环中使用 "+" 进行字符串拼接,合适吗?
字符串,是 Java 中最常用的一个数据类型了。本文主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。
逆锋起笔
2020/03/12
3.1K0
在 for 循环中使用 "+" 进行字符串拼接,合适吗?
SwiftU:在循环中创建视图
通常在一个循环中创建多个SwiftUI视图。例如,我们可能想要遍历一系列名称,并让每个名称成为文本视图,或者遍历一系列菜单项,并将每个名称显示为图像。
韦弦zhy
2020/03/20
2.3K0
017:为什么不建议在循环中使用“+”拼接字符串
由于字符串对象是不可变的,所以每次循环都会对操作符左右两边的字符串进行拷贝,并生成一个新的字符串对象。如果循环n次,则这个过程需要n的平方级的时间;并且在这个过程中还创建了很多短命的中间对象。
阿杜
2019/03/12
1.4K0
017:为什么不建议在循环中使用“+”拼接字符串
自定义scala 字符串插值
前言 字符串插值是 scala 2.10.0 开始引入的一个新的概念,就是能够让用户在字符串中嵌入变量引用。 从而可以让用户用数据来构造字符串。 比如 s interpolator,允许直接在字符串中使用变量和计算表达式: val name = "Ldpe2G" println(s"Hello, $name")  // Hello, Ldpe2G println(s"1 + 1 = ${1 + 1}") // 1 + 1 = 2 已经提供的interpolator还有f, raw等 参考:http://do
Ldpe2G
2018/06/29
1.2K0
访问列表中的值
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
用户8442333
2021/05/27
6.1K0
在字符串中查找id值MySQL
SELECT * FROM `hz_article_type` WHERE FIND_IN_SET( 5, items_id ) LIMIT 0 , 30
全栈程序员站长
2022/07/07
5.7K0
在字符串中查找id值MySQL
循环中的异步&&循环中的闭包
foo函数下的index输出5,全局下的index不存在 现在我们把var 换为let
陌上寒
2019/04/02
1.7K0
循环中的异步&&循环中的闭包
Dart:在循环中使用 Async 和 Await
在 Dart(以及 Flutter)中,您可以使用Future.forEach在循环中顺序执行同步操作。下面的示例程序将打印从 1 到 10 的数字。每次打印完一个数字,它会等待 3 秒,然后再打印下一个数字。
徐建国
2022/04/27
1.7K0
Dart:在循环中使用 Async 和 Await
【说站】python字符串如何访问字符
以上就是python字符串访问字符的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/24
5110
Python 存储字符串时,是如何节省空间的?
从 Python 3 开始,str 类型代表着 Unicode 字符串。取决于编码的类型,一个 Unicode 字符可能会占 4 个字节,这个有些时候有点浪费内存。
一墨编程学习
2019/05/10
2.6K0
如何限制用户在某一时间段多次访问接口
要知道,如今很多平台的接口都是可以同时被门户网站,手机端,移动浏览器访问,因为接口是通用的,而为了安全起见,有些接口都会设置一个门槛,那就是限制访问次数,也就是在某一时间段内不能过多的访问,比如登录次数限制,在一些金融理财或者银行的接口上比较常见,另外一些与用户信息有关的接口都会有一个限制门槛 那么这个限制门槛怎么来做呢,其实有很多种方法,主流的做法可以用拦截器或者注解,那么今天咱们用注解来实现 首先需要定义一个注解,如下图: 设置好注解最顶优先级,同时设置默认的时间段以及调用次数分别是1分钟和100次
风间影月
2018/04/04
1.8K0
如何限制用户在某一时间段多次访问接口
批处理for循环中截取字符串_bat文件输出字符串
先把FOR的变量全部列出来: ~I – 删除任何引号(“),扩展 %I %~fI – 将 %I 扩展到一个完全合格的路径名 %~dI – 仅将 %I 扩展到一个驱动器号 %~pI – 仅将 %I 扩展到一个路径 %~nI – 仅将 %I 扩展到一个文件名 %~xI – 仅将 %I 扩展到一个文件扩展名 %~sI – 扩展的路径只含有短名 %~aI – 将 %I 扩展到文件的文件属性 %~tI – 将 %I 扩展到文件的日期/时间 %~zI – 将 %I 扩展到文件的大小 %~$PATH:I – 查找列在路径环境变量的目录,并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩展到 空字符串
全栈程序员站长
2022/11/04
2.2K0
TPC基准程序及tpmc值-兼谈在使用性能度量时如何避免误区[转载]
TPC基准程序及tpmc值 ─ 兼谈在使用性能度量时如何避免误区  今天的用户在选用平台时面对的是一个缤纷繁杂的世界。用户希望有一种度量标准,能够量化计算机系统的性能,以此作为选型的依据。作者曾在美国
数据和云01
2018/09/12
1.7K0
如何定义光纤跳线的端面三项值标准?
光纤的两个端面必须精密对接起来,以使发射光纤输出的光能量能最大限度地耦合到接收光纤中去。光纤线路的成功连接取决于光纤物理连接的质量,两个光纤端面需要达到充分的物理接触,如同融为一体的介质。物理接触对保证光纤连接点的低插入损耗和高回波损耗至关重要,光纤端面形状的演化,经历了PC、UPC和APC三种类型,如图1所示。PC 是Physical Contact,物理接触。UPC (Ultra Physical Contact),超物理端面。APC (Angled Physical Contact) 称为斜面物理接触,光纤端面通常研磨成8°斜面。
亿源通科技HYC
2020/01/10
1.8K0
如何定义光纤跳线的端面三项值标准?
【Python】字符串 str ① ( 字符串 - 数据容器 | 字符串定义 | 使用下标索引访问字符串 | 字符串不可修改 )
字符串定义 就是 在 双引号 中 写入任意数量的 字符 , 如 : “Hello” ;
韩曙亮
2023/10/11
2600
【Python】字符串 str ① ( 字符串 - 数据容器 | 字符串定义 | 使用下标索引访问字符串 | 字符串不可修改 )
点击加载更多

相似问题

如何访问for循环中的字符串值?

215

如何访问while循环中的字符串值,在while循环之外,同时在方法中访问字符串值

25

Java自定义排序顺序轮循排序

146

在尝试访问JSON字符串对象的值时未定义

40

Postgres在FOR循环中访问行值

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档