AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

平价又好用的学习电脑小轩PRO来啦,为孩子创造超强学习体验

最新动态

Week 06学习总结

Jeremy

MQTT的搭建、测试、应用及小程序的集成!

诸葛小猿

物联网 IoT mqtt broker

企业架构框架之TOGAF

冯文辉

企业架构

《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

CECBC

Python的四种作用域及调用顺序

BigYoung

Python 局部作用域 全局作用域

聊聊Dubbo(二):简单入门

猿灯塔

如何帮助技术员工高效成长?这几家企业的做法值得借鉴

极客时间企业版

研发管理 研发团队培训

以中立性的立场看Severless的目标和流派

韩超

云原生 serverles

可读代码编写炸鸡七 - 表达式太长就拆

多选参数

代码质量 代码组织 代码规范 可读代码编写 可读代码

林左鸣 史瑞华:人类应鼎力进行的探索

CECBC

单例模式的几种写法你用的哪种?

Java小咖秀

Java 设计模式 23种设计模式

如何进行需求梳理及埋点方案设计

易观大数据

【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

华为云开发者联盟

运维 服务器 直播 云服务 华为云

Week 06 命题作业

Jeremy

我想模糊删除redis key🤔

山中兰花草

Java lua redis 面试 批量任务

CAP原理

jason

可读代码编写炸鸡六 - 控制流尽量向前奔涌就好,不要分心

多选参数

代码 代码优化 代码规范 可读代码编写 可读代码

图解:如何实现最小生成树

淡蓝色

Java 数据结构 算法

寻找握剑的手,青睐懂行的人

脑极体

解决问题 1474 个,Flink 1.11 究竟有哪些易用性上的改善?

Apache Flink

flink

毕业半年的憨憨,将公司的代码上传到GitHub上了

诸葛小猿

GitHub 代码上传

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

朱嘉明:区块链成为经济转型、形成产业新业态的技术手段

CECBC

第六周作业

腾志文(清样)

区块链加持的家用摄像头能拯救你的隐私吗?

CECBC

计算机揭秘之:网络分类和性能分析

程序那些事

TCP 计算机网络 网络协议 计算机基础 udp

防止数据重复提交的6种方法(超简单)!

王磊

Java

数十家技术社区联名推荐的GeekOnline来了!

Geek_116789

第六周总结

腾志文(清样)

LeetCode题解:141. 环形链表,JavaScript HashMap,详细注释

Lee Chen

大前端 LeetCode

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