写点什么

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

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

关注

评论

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

Spring 5 中文解析测试篇-Spring MVC测试框架

青年IT男

单元测试 Spring5

链表中移除重复节点,保罗·格雷厄姆的传奇博客,Mac三指拖动操作,大数据平台 John 易筋 ARTS 打卡 Week 17

John(易筋)

大数据 ARTS 打卡计划 链表移除相同节点 保罗格雷厄姆 mac三指操作设置

C语言指针详解

C语言与CPP编程

c c++ 编程语言 指针

导致系统不可用原因及密码验证

纯纯

智能商业时代的思考(二)网络协同抓住用户

刘旭东

微信 商业价值 数据智能 网络协同 商业智能

ARTS打卡Week 12

teoking

第五周总结

Vincent

极客时间 极客大学

极客大学-架构师训练营

9527

你必须要了解的「架构」小历史

小齐本齐

spring Spring Cloud Spring Boot

Elasticsearch索引容量管理实践

腾讯云大数据

大数据

PB级大规模Elasticsearch集群运维与调优实践

腾讯云大数据

大数据

03 Spring Security 入门实例

哈库拉玛塔塔

Spring Boot kotlin spring security

前端 10 问之 Docker (第一篇)

局外人

Docker

ARTS打卡 第16周

引花眠

微服务 ARTS 打卡计划

哦!这该死的 C 语言

苹果看辽宁体育

c 后端

为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

冰河

git 冰河 代码管理 代码仓库 分支合并

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

程序员小航

Java 源码 AQS 源码阅读 CyclicBarrier

数据结构与算法系列之数组

书旅

数据结构 算法 数组 数据结构与算法

ARTS Week16

时之虫

ARTS 打卡计划

安全相关总结

纯纯

简述C语言宏定义的使用

C语言与CPP编程

c c++ 编程语言

Mysql学习笔记:InnoDB事务和ACID模型

马迪奥

MySQL innodb

程序的机器级表示-异构的数据结构

引花眠

计算机基础

oeasy教您玩转 linux 010213 中文 fcitx

o

鹰眼 | 分布式日志系统上云的架构和实践

腾讯云大数据

大数据

CString 类的线程不安全问题

C语言与CPP编程

c c++ 编程语言

架构师训练营第十四周总结

张明森

洗牌算法

C语言与CPP编程

c c++ 算法 编程语言

ARTS 打卡 (20.09.07-20.09.13)

小王同学

一文带你了解微服务架构和设计(多图)

Phoenix

架构 分布式 微服务

第五周作业

Vincent

极客时间 极客大学

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