开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

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

关注

评论

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

Easy-Monitor 3.0 开源 - 基于 Egg 的 Node.js 性能监控解决方案

hyj1991

node.js 开源 大前端

关于问问题和时间管理的感悟

苹果看辽宁体育

程序员 程序人生

Java参数传递分析

游侠最光阴

Java

分布式锁:效率与正确性的衡权

伴鱼技术团队

后端 分布式协同 分布式锁 服务器 分布式架构

数据库周刊28│开发者最喜爱的数据库是什么?呼兰脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;MySQL架构选型;Oracle文件损坏处理……

墨天轮

数据库 oracle 阿里云

第二周作业

andy

数据分析师这个岗位,可能近几年会消亡

峰池

数据分析 数据 互联网人

Python类型标注

Vincent

编程语言 python3.7

Week2命题作业

星河寒水

第三周作业三:优化 Cache 类的设计

远方

Python与文件流

Vincent

Python 编程 文件管理

江帅帅:精通 Spring Boot 系列 02

奈学教育

Spring Boot

Week 02 命题作业

卧石漾溪

极客大学架构师训练营

环信助力中国游戏社交类APP出“东南亚”记!

DT极客

ChaosBlade:从零开始的混沌工程(三)

郭旭东

混沌工程

江帅帅:精通 Spring Boot 系列 01

奈学教育

Spring Boot

第二周作业二:描述熟悉的框架,是如何实现依赖倒置原则

远方

江帅帅:精通 Spring Boot 系列 02

古月木易

Sprint Boot

程序一定要从main函数开始运行吗?

泰伦卢

c++

架构师训练营第二周 - 学习总结

Eric

架构是训练营

后疫情时代给技术经济发展带来的挑战和机遇

CECBC

区块链技术 林左鸣 机遇与挑战

Java 诊断利器 Arthas 优雅排查生产环境

ytao

江帅帅:精通 Spring Boot 系列 01

古月木易

Spring Boot

ARTS 第 2 周

乌拉里

架构师训练营第二周作业

James-Pang

极客大学架构师训练营

解析 Swift 中的 @discardableResult

SwiftMic

swift

JVM的未来——GraalVM集成入门

孤岛旭日

Java 云原生 JVM GraalVM

iOS Universal link 30分钟入门指南

行者

程序员人人都会遇到的“画饼”,一招教你破解

金刚小书童

程序员 职业规划 技术管理 画饼

02周作业——面向对象设计原则

dao

面向对象设计 极客大学架构师训练营 作业

第二周作业

远方

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