写点什么

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

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

关注

评论

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

Springboot --- 使用国内的 AI 大模型 对话

快乐非自愿限量之名

Python 人工智能 Spring Boot

openai chatgpt 大语言模型

霍格沃兹测试开发学社

制造业数字化转型:高性能计算携手算力赋能新未来

GPU算力

数字化转型 HPC 高性能计算, 智算中心 制造业数字化

Nuxt.js 应用中的 close 事件钩子详解

EquatorCoco

JavaScript

Web3 游戏周报(10.06 - 10.12)

Footprint Analytics

链游

ERP系统是什么?ERP系统如何与数据库对接?

RestCloud

数据挖掘 数据库 数据同步 ETL ERP

用PyTorch, Profiler和TensorBoard优化AI训练性能

王玉川

profiler 性能调优 PyTorch tensorboard AI模型训练

Swarm 框架登场:OpenAI 第 3 阶段「敲门砖」;马斯克的 Teslabot 实际有人远程操控丨 RTE 开发者日报

声网

【稳定性】稳定性建设之变更管理

京东科技开发者

2024 荣耀开发者大会,报名开启!

荣耀开发者服务平台

行业资讯 开发者大会 新版本/特性发布 荣耀 AI Agent

MPI高性能计算和集合通信编程

王玉川

HPC 集合通信 高性能计算

《京东金融APP的鸿蒙之旅系列专题》鸿蒙工程化:Hvigor构建技术

京东科技开发者

基于Web组件的可视化地图开发平台的设计与实现

快乐非自愿限量之名

不起眼的错误参数导致remote-debugging-port不生效

LLLibra146

chrome macos Python 3.12

创建git分支命名原则

百度搜索:蓝易云

车企纷纷进军海外市场,海外专线有何作用?

Ogcloud

SD-WAN 海外网络专线 海外专线 跨国专线 跨国网络专线

信通院发布第七批“可信AI”评测,望繁信科技获最高评级!

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

《京东金融APP的鸿蒙之旅系列专题》新特性篇:意图框架接入

京东科技开发者

01.单例模式设计思想

杨充

Go 语言基准测试入门

FunTester

SaaS架构:开放平台架构设计

快乐非自愿限量之名

架构 SaaS

高效数据移动指南 | 如何快速实现数据库 Oracle 到 Apache Doris 的数据同步?

tapdata

SD-WAN跨国组网的效果怎么样?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN国际专线 海外网络专线

技术干货|热门仿真平台HyperMesh CFD功能详解:几何和网格(Part 2)

Altair RapidMiner

仿真 altair Hypermesh CFD

为什么线下面试越来越流行了?

王磊

Ubuntu 22报错:PAM unable to dlopen(pam_tally2.so)

百度搜索:蓝易云

行业认可 | 钛铂数据喜获2024爱分析 · 数据智能优秀厂商奖

tapdata

关于使用plsql操作oracle的一点小技巧和几个常用的查询语句

不在线第一只蜗牛

数据库 oracle

Spring 实现 3 种异步流式接口,干掉接口超时烦恼

程序员小富

Java spring 异步设计

网站云服务器配置方案

百度搜索:蓝易云

DockerCompose部署es和kibana

百度搜索:蓝易云

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