写点什么

Visual Basic 中隐式的续行

  • 2008-03-01
  • 本文字数:655 字

    阅读完需:约 2 分钟

续行符(Line continuation characters)一直是 VB 语法的一个瑕疵。与 Pascal 家族和 C 家族的语言不同,Visual Basic 不要求一个拖尾的分号来表示指令的结束。出于权衡考虑,它的确需要一个符号来表示指令没有结束。

用一个下划线作为续行符,是在 Visual Basic 4 中被引入的。在那之前,代码的逻辑行不得不位于源码的一个单独的物理行中。除非你在用联机 SQL,否则这只是有点令人讨厌,而不是什么真正的问题。但是随着 LINQ(它可以很容易的预处理单个查询指令)的引入,尤其是深层嵌套的情况下,问题就来了。

一篇纯粹探讨性的文章里,Microsoft 的Paul Vic 提议在最通常的情形下,消除对续行符的需求。然而VB 与SQL 不同,它并不能彻底取消续行符,即使它真的可以结束。

Paul 提议在以下的五种情况下应取消续行符:

  1. 在表达式中的二进制操作符之后。
  2. 在如下标点之后:逗号(“,”),左括号(“(”),左大括号(“{”),XML 的起始嵌入表达式(“”)。
  3. 在一个特性(Attribute)中的小于号(“<”)之后,以及在一个特性中的大于号(“>”)之前,或者在一个非文件级特性中的大于号之后(例如,一个没有指定“Assembly”或者“Module”的特性)。
  4. 在查询表达式操作符的前和后。

被社区所唾弃的其它建议还包括:

  • 在 Handles 和 Implements 语句之前(还有在这些语句的逗号之后)
  • 在用来标记字符串的前双引号"和后双引号"之间

对行内注释的支持也被提了出来。目前,VB 只有在语句结尾处才支持注释。行内注释会使得开发人员很难编写复杂的 LINQ 查询。

查看原文 Implicit line continuations in Visual Basic

2008-03-01 06:511017
用户头像

发布了 29 篇内容, 共 38935 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

可观测 AIOps 的智能监控和诊断实践丨QCon 全球软件开发大会总结

阿里巴巴云原生

阿里云 云原生 AIOPS 可观测

Apache Dubbo 云原生可观测性的探索与实践

阿里巴巴云原生

Apache 阿里云 云原生 dubbo

ATE机台哪家强?

IC男奋斗史

芯片 半导体 职场经验 芯片测试 ATE测试

使用CSS圆锥渐变创建背景图案

南城FE

CSS css3 前端 渐变

GardenPlanner for Mac最新激活版(园林绿化设计软件)

胖墩儿不胖y

Mac软件 园林设计工具

基于 Triple 实现 Web 移动端后端全面打通

阿里巴巴云原生

阿里云 微服务 云原生

Python开发:pycharm pro 2023 永久激活秘钥【Mac/win】

Rose

Python开发 PyCharm破解版 PyCharm Pro密钥 JetBrainsPyCharm

这三大爆款开源项目竟出自同一个20人的小公司?

米开朗基杨

蓝易云:Redis相比Memcached有哪些优势?

百度搜索:蓝易云

redis memcached 云计算 Linux 云服务器

Bridge 2024 (BR)新功能介绍及破解安装教程

Rose

Adobe Bridge 2024 BR2024下载 Bridge 2024破解版 Bridge 2024 中文版

苹果Mac文件管理浏览软件Path Finder中文破解版 支持Mac14系统

Rose

mac文件管理软件 Path Finder Path Finder破解

Termius 8 for Mac多协议远程管理软件

展初云

Mac软件 远程连接管理工具 远程访问

从策略和实践,带你掌握死锁检测

华为云开发者联盟

开发 华为云 图算法 华为云开发者联盟 死锁检测

大模型训练:深度学习的高级挑战

Geek_cf26da

大模型训练 大模型 千帆大模型平台

不抖机灵!让工程师来告诉你做芯片是如何烧钱的!

IC男奋斗史

芯片 半导体 芯片测试 ATE测试

Avid Sibelius Ultimate 2023 for Mac(西贝柳斯音乐记谱软件)

Rose

西贝柳斯终极解锁版 Avid Sibelius 2023 Mac Mac乐谱制作软件

几款好用的苹果Mac硬盘检测工具

Rose

SSD mac软件下载 Mac硬盘健康 硬盘检测软件

XTransfer重磅发布“AI员工”,安信成CRM“数智化”再提速

XTransfer技术

AI CRM XTransfer

茶百道全链路可观测实战

阿里巴巴云原生

阿里云 云原生 可观测

华为云应用中间件DCS系列—Redis实现(社交APP)实时评论

华为云PaaS服务小智

DBeaverUltimate 23 for Mac数据库管理软件

展初云

数据库管理 Mac软件

Defi代币智能合约开发原理丨LP质押挖矿系统开发详情

V\TG【ch3nguang】

充换电企业开迈斯低成本提升线上应用稳定性的最佳实践

阿里巴巴云原生

阿里云 云原生

使用 Kubernetes 简化平台工程

SEAL安全

DevOps kubernetes 运维 企业号10月PK榜

ChatGPT搅动AI芯片的“一池春水”

IC男奋斗史

AI 英伟达 芯片 半导体 AI芯片

Navicat Premium 16 Mac数据库管理工具

展初云

数据库管理工具 Mac软件

启动速度提升 10 倍:Apache Dubbo 静态化方案深入解析

阿里巴巴云原生

阿里云 云原生

蓝易云:Centos 7 通过 targz文件安装 Elastic Search服务教程!

百度搜索:蓝易云

elasticsearch Linux centos SEO targz

Programming abstractions in C阅读笔记:p179-p180

codists

阿里云“玩转云上 StarRocks3.0 湖仓分析”,开启数据分析新范式

阿里云大数据AI技术

EVE-NG的Windows客户端安装

小魏写代码

Visual Basic中隐式的续行_.NET_Jonathan Allen_InfoQ精选文章