写点什么

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:511027
用户头像

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

关注

评论

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

【引航计划】优质内容合集名单公布

InfoQ写作社区官方

引航计划 热门活动

模块2

Asha

通过题目来讲一讲指令系统相关知识 1 | 计算机组成与系统结构专题

Regan Yue

计算机组成原理 10月月更

产学互为表里,携手方见大道:华为云AI院长峰会的价值思考

脑极体

官方线索 | 1024新华三服务器性能调优挑战赛

穿过生命散发芬芳

1024我在现场

打破数据壁垒,北鲲云超算混合云模式激活人工智能数据价值

北鲲云

模块一作业

hpl

无人驾驶与环卫革命

脑极体

优酷鸿蒙开发实践|多屏互动开发实践

阿里巴巴终端技术

ios android 鸿蒙 优酷 客户端

打破 Serverless 落地边界,阿里云 SAE 发布 5 大新特性

阿里巴巴云原生

阿里云 Serverless 云原生 Serverless Kubernetes

架构实战营 - 第三期 - 模块一作业

lucian

架构实战营

第二存储解决方案白皮书 | 专为非生产数据而设计的存储方案

QingStor分布式存储

云原生 分布式存储

自定义ViewGroup的触摸反馈

Changing Lin

10月月更

这才是责任链模式的优雅使用方式

Tom弹架构

Java 架构 设计模式

微信业务+学生毕设架构设计

慧慧Alina酱

快手技术嘉年华 | 与你漫游技术星辰大海

快手中学

技术 校招 快手

科技热点周刊|微软发布 Web 版 VSCode、 删除 .NET 6 热重载引发不满、IBM 发布开源混合云介绍指南

青云技术社区

云计算 云原生 kubenetes CockroachDB

浪潮云说丨构建全域业务联动枢纽,挖掘数据要素创新价值

云计算

学生管理系统架构和微信业务架构

Geek_nlp小咖

微信 架构 微信业务架构 学生管理系统架构

腾讯数字生态大会【TechoDay技术回响日】

腾讯云数据库

模块2总结

Asha

架构实战营

你正在选择实时互动云服务?以下是关于安全合规的七个建议

声网

人工智能 数据安全

网络安全之渗透实战学习

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

anyRTC从服务到产品全链路服务保障升级

anyRTC开发者

音视频 直播 实时通信 语音通话 视频通话

架构训练营模块1作业

Puciu

架构实战营

使用 Spring Boot 和 @WebMvcTest 测试 MVC Web Controller

码语者

Java Spring Boot test

如何在新消费时代提升开店数量和营业额

石云升

学习笔记 10月月更

联想智慧服务荣获第17届“金耳唛杯”年度总冠军

科技大数据

空调可视化运营中心,赋能精细化运营管理

ThingJS数字孪生引擎

资讯|WebRTC M94 更新

网易云信

大前端 chrom

精细运营|营销获客自动化‘攻心’

海比研究院

CRM

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