You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB中为Do Until循环添加Or条件?解决System.InvalidCastException错误

问题解决:VB密码生成器的类型转换错误

你的代码报错是因为Do Until的条件判断写法错误。原代码里的capitals = "yes" Or "no",VB会尝试把字符串"no"转换成布尔值来参与逻辑判断,但字符串无法直接转为布尔类型,因此抛出了System.InvalidCastException异常。

修正后的代码

Dim capitals As String
Do Until capitals = "yes" Or capitals = "no"
    Console.WriteLine("你希望密码包含大写字母吗?")
    capitals = Console.ReadLine()
Loop

可选优化:提升输入容错性

可以把输入转为小写,这样用户输入Yes/YES/No/NO这类格式也能被正确识别:

Dim capitals As String
Do Until capitals?.ToLower() = "yes" Or capitals?.ToLower() = "no"
    Console.WriteLine("你希望密码包含大写字母吗?")
    capitals = Console.ReadLine()
Loop

内容的提问来源于stack exchange,提问作者Dylan Andrews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:30:40