50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

高级java体系课第1期第二周作业

刘博

设计模式-策略模式详解

C++后台开发

设计模式 策略模式 后端开发 Linux服务器开发 C++开发

“采访”ChatGPT看看它对我们GreatSQL社区有什么看法

GreatSQL

MySQL greatsql greatsql社区

百度APP iOS端内存优化-原理篇

百度Geek说

ios 内存 企业号 2 月 PK 榜

优秀实践案例征集火热开启,快来投稿!

Apache RocketMQ

消息列队

有了 ETL 数据神器 dbt,表数据秒变 NebulaGraph 中的图数据

NebulaGraph

数据库 大数据 数据处理 图数据库

新思科技解读2023年软件安全行业六大趋势

InfoQ_434670063458

新思科技 软件安全

记录一次还算优雅的代码设计

京东科技开发者

线程 cpu 优雅 代码设计 企业号 2 月 PK 榜

分布式缓存服务DCS:企业版性能更强,稳定性更高

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

VSCode一键接入Notebook体验算法套件快速完成水表读数

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

南宁等级测评机构有几家?分别是哪几家?

行云管家

等保 南京 等级保护 等级

直播预告丨 立即解锁 ALB Ingress 高级特性

阿里巴巴云原生

阿里云 容器

Apifox 1 月更新 | 将接口调试做到「极简」的新模式上线

Apifox

Apifox API

提升软件质量?为什么不试试华为云CodeArts Check

华为云开发者联盟

云计算 华为云 企业号 2 月 PK 榜 华为云开发者联盟

使用 QuTrunk+Amazon Deep Learning AMI(TensorFlow2)构建量子神经网络

亚马逊云科技 (Amazon Web Services)

深度学习 量子计算

基于 Kubernetes 的企业级大数据平台,EMR on ACK 技术初探

阿里巴巴云原生

阿里云 容器 云原生

从 await-to-js 到 try-run-js

jump-jump

JavaScript 异步 优化 Async 重试

从一个Demo说起Zookeeper服务端源码

宋小生

zookeeper

什么是智能制造,为什么它对传统制造业影响如此之大?

PreMaint

智能工厂 智能制造

使用 NineData GUI 创建与修改 ClickHouse 表结构

NineData

MySQL 分布式数据库 Clickhouse Dbeaver NineData

给 Databend 添加 Aggregate 函数 | 函数开发系例二

Databend

直播预约|数据库掌门人论坛召开,共谋中国数据库生态发展新路径

镜舟科技

数据库 大数据 开源

OpenInfra峰会议程已公布,特色主题演讲,百余场专题会议等你来参与!

极客天地

火山引擎DataLeap:3个关键步骤,复制字节跳动一站式数据治理经验

字节跳动数据平台

大数据 数据治理 数据研发 实际应用 企业号 2 月 PK 榜

云原生技术在容器方面的应用

统信软件

容器 云原生 云服务

聊一聊,我对DDD的关键理解

阿里技术

DDD

统一观测丨如何使用Prometheus 实现性能压测指标可观测

阿里巴巴云原生

阿里云 云原生 Prometheus 压测

【等保小知识】过等保后可以收到哪些资料?

行云管家

等保 等级保护 过等保

OpenHarmony 3.2 Beta多媒体系列——视频录制

OpenHarmony开发者

OpenHarmony

物联网平台选型葵花宝典:盘点开源、SaaS及通用型平台的优劣对比

AIRIOT

物联网 物联网平台选型 平台选型

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