正文
vb.net转义符 vb转义字符
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C#中的??是什么意思
可空类型修饰符(?)vb.net转义符:引用类型可以使用空引用表示一个不存在的值vb.net转义符,而值类型通常不能表示为空。例如string str=null; 是正确的,int i=null; 编译器就会报错。
为vb.net转义符了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?"
例如vb.net转义符:int? 表示可空的整形,DateTime? 表示可为空的时间。
T? 其实是System.Nullable(泛型结构)的缩写形式,也就意味着当用到T?时编译器编译 时会把T?编译成System.Nullable的形式。
扩展资料:
C#使用注意事项:
类成员的访问权限:
1、Public:允许外界访问。
2、Private 不允许外界访问,也不允许派生类访问。
3、Protected:不允许外界访问,但允许派生类访问。
4、Internal:允许同一个命名空间中的类访问。
5、在while括号后面不要加分号,因为加分号后,就表示while语句中的循环体代表空语句。不过有时可以将while语句的循环体中的语句放在while后面的括号中去,这时就可在while括号后面加上一个分号。
参考资料来源:百度百科-c#
githubmarkdown以源码方式显示了
注意:Windows环境下载时,分为User版和System版(推荐),User版只能安装在C盘的用户文件夹下,System版可以自定义安装位置,用户可以安装需求选择下载哪个版本。
设置中文
安装好VS Code后,软件默认为英文,以下步骤可以将其设置为中文。
选择View - Command Palette,或使用快捷键Ctrl+Shift+P,搜索configure language,然后选择Configure Display Language,然后选择zh-cn,如下图。
在这里插入图片描述
注意: 若选择Configure Display Language后,未出现上图所示选项,而是出现如下图的json文件编辑页面,则可能为旧版的VS Code,将json文件中的locale后面的en改为zh-cn,然后按照步骤3中安装Chinese (Simplified)Language Pack扩展。
在这里插入图片描述
若没有zh-cn,可以选择Install additional languages,然后安装扩展包Chinese (Simplified) Language Pack,然后重复步骤1。
也可以先在View - Extensions中安装Chinese (Simplified)Language Pack中文简体语言包扩展,如下图第1个扩展,然后进行步骤1。
在这里插入图片描述
安装扩展
在查看 - 扩展中可以查看、设置、启用、禁用、卸载已安装扩展,即对已安装扩展进行管理,同时可以搜索并安装各种扩展,如下图。
在这里插入图片描述
编辑Markdown文档
在VS Code中打开或新建.md格式的文件即可进行编辑(在VS Code中新建文件时可能需要先保存为.md格式文件),点击右上角的预览按钮可以进行实时预览。下图第一个按钮即为预览按钮。
在这里插入图片描述
配合Markdown使用的扩展
推荐的扩展套装:
基于Markdown Preview Enhanced扩展预览窗口(推荐):Markdown Preview Enhanced 和 Prince软件 + markdownlint + Mermaid Markdown Syntax Highlighting + Maridown PDF(可选) + vscode-pdf(可选)
优点:支持各种CSDN博客特殊语法,如:mermaid绘图,注脚,注释,等等。而且预览窗口不受VS Code软件深色主题的影响,更加形象的展示所编写文件的pdf文档样式。
基于原生预览窗口:markdownlint + Markdown+Math + Mermaid Markdown Syntax Highlighting + Markdown Preview Mermaid Support + Maridown PDF + vscode-pdf(可选)
优点:预览窗口反应快速,无需安装额外的预览扩展,主题可以跟随VS Code软件的深色主题。
缺点:部分特殊语法无法得到支持。
以下为各个扩展的详情介绍:
markdownlint:一个好用的 Markdown 格式检查扩展,它规定了许多规则并实时对文档进行检查,防止一些语法错误,同时维持文档风格的统一,使用此工具有助于形成一个良好的写作习惯和规范。
Markdown Preview Enhanced:一个很好用的完善预览功能的插件,可以更加形象的展示所编写文件的pdf文档样式。优点是支持LaTeX数学公式和Mermaid图表等内容的显示。
安装后,你会发现工作区的右上角多了一个预览按钮,这个按钮就是Markdown Preview Enhanced插件产生的,如下图。直接右键.md文件的页面也可以开启Markdown Preview Enhanced。
在这里插入图片描述
注意:右键Markdown Preview Enhanced预览页面也有一些选项,如下图。Open in Browser是在浏览器中打开预览,HTML是打印成HTML文件,PDF是打印成PDF文件(此选项需额外安装Prince软件,VS Code扩展库中没有,安装方法见后文)。
在这里插入图片描述
安装Prince软件:进入Prince官网,点击下载,选择对应的版本进行下载并安装。然后添加环境变量,右键我的电脑-属性-高级系统设置-环境变量-系统变量-Path-编辑,新建一条Prince安装路径\engine\bin即可。然后重启VS Code。
Markdown All in One:集成了各种功能,同时也支持LaTeX数学公式(在扩展设置中启用基本的数学支持选项可以开启与关闭该功能),但貌似没有显示Mermaid图表和打印PDF的功能。个人建议,若启用Markdown+Math扩展,则不必启用此扩展。
Markdown+Math:使VS Code原生的Markdown预览窗口支持显示LaTeX数学公式。可以与Markdown All in One扩展同时使用,同时使用时,LaTeX公式显示风格以Markdown+Math为标准。
Mermaid Markdown Syntax Highlighting:支持Mermaid图表代码高亮,但无法在原生预览窗口显示。
Markdown Preview Mermaid Support:支持原生预览窗口显示Mermaid图表。
Maridown PDF:可以简单的将编写的.md文件转换成其他格式的文件,右键.md文件的页面可以进行转换,如下图。生成的文件将会直接保存在.md文件的文件夹下。但不支持LaTeX数学公式和Mermaid图表等内容的显示。
在这里插入图片描述
vscode-pdf:若希望在VS Code中直接打开并浏览pdf格式文件,可以通过安装该插件来达到该目的。
Markdown Pad 2
介绍
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。而Markdown Pad 2 便是编辑Markdown语言的一款编辑器,其功能强大,便捷,速度快,无广告,而且还可以进行个性化设置。下面介绍一下Windows系统下,该工具的安装与配置方法。
安装
进入官网:官网链接,然后点击Download MarkdownPad;或者直接点击该链接,下载链接,会立刻开始下载。
运行上一步骤下载到的exe文件,开始安装,并完成安装。
注意:Win10若提示HTML渲染组件出错,错误的表现形式为,不能实时预览Markdown生成的HTML页面。则需要安装awesomium_sdk,下载地址:Download awesomium_v1.6.6_sdk_win.exe。
设置中文
Tool — Options — Editor — Language,选择中文。
Key
在初次打开软件时单击Enter Key按钮,或点击帮助—升级到MarkdownPad专业版。输入如下Email和Key。
Soar360@live.com
1
1
Key
GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6bnxn2kSE8qHqNY5QaaRxmO3YSMHxlv2EYpjdwLcPwfeTG7kUdnhKE0vVy4RidP6Y2wZ0q74f47fzsZo45JE2hfQBFi2O9Jldjp1mW8HUpTtLA2a5/sQytXJUQl/QKO0jUQY4pa5CCx20sV1ClOTZtAGngSOJtIOFXK599sBr5aIEFyH0K7H4BoNMiiDMnxt1rD8Vb/ikJdhGMMQr0R4B+L3nWU97eaVPTRKfWGDE8/eAgKzpGwrQQoDh+nzX1xoVQ8NAuH+s4UcSeQ==
1
1
个性化设置
菜单栏 — 工具 — 选项
Markdown — GitHub 风格 Markdown (离线)
样式表 — Markdownpad-github.css
文件 — 在导出的PDF文件中包含CSS背景
Markdown与HTML的联系
Markdown支持HTML的大部分标签,但反之HTML不支持Markdown语法;即Markdown兼容HTML。例如换行标签br,键盘文本kbd,预格式文本pre,上标sup,下标sub,等等。更多标签和用法请参照HTML标签 。
例子:
键盘文本-复制的快捷键:kbdCtrl/Command/kbd + kbdC/kbd
显示:
Ctrl/Command + C
Markdown中支持HTML的大部分字符实体,如大于号: ,显示为。更多HTML字符实体请参照HTML字符实体 。
编辑技巧
快捷键
在编辑页面可以适当的使用快捷键提升效率。以下为CSDN的快捷键,其中有些是可以通用于各个编辑器的。
CSDN快捷键:
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
待办列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
列表
当使用顺序列表时,按回车会自动生成序号,想中断排序,再按一次回车即可。
在顺序列表的编号后面按回车,不会打乱编号的顺序。
当使用列表后,缩进中断时,可以使用Tab进行缩进。
标记失效
在使用Markdown标记语言时,一些标记后需要加空格才会生效,如标题标记:# 。
一些标记的前面需要有回车才会生效,如分隔符:--- 。
一些字体标记,当结束标记前的字符为标点符号时可能会失效。
例如:**标点符号。**是句号。
显示:**标点符号。**是句号。
解决方案:在结束标记**后加空格即可,其他字体标记同理。
例如:**标点符号。** 是句号。
显示:标点符号。 是句号。
页面内跳转
由于Markdown目前没有实现页面内跳转的方法,故可以使用HTML的方法进行页面内跳转,因为Markdown支持HTML。值得一提的是,跳转到锚点时,可以使用Markdown的链接语法进行跳转。
注意: 示例中锚点的h1标签可以换成任何其他标签,如text标签等。
纯HTML示例:
!-- 跳转到锚点 --
a href="#1"锚点目标/a
!-- 创建锚点 --
h1 id="1"锚点/h1
1
2
3
4
1
2
3
4
HTML创建锚点+Markdown跳转示例:
跳转到锚点:[锚点目标](锚点id '标题')
创建锚点(同上):h1 id="1"锚点/h1
展示:
HTML语法跳转:锚点目标
Markdown语法跳转:锚点目标
锚点
CSDN博客技巧
CSDN目录
输入#,并按下Space后,将生成1级标题。
输入##,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用@[TOC](自定义目录标题)或@[toc](自定义目录标题)语法后生成一个有缩进的目录,可实现页内跳转。
CSDN快捷键
同编辑技巧章节的快捷键。此处省略。
自定义列表
CSDN编辑器支持,某些本地编辑器不支持。
例子(最前面要有空行):
Authors
: John
: Luke
1
2
3
1
2
3
显示:
Authors
John
Luke
注脚
CSDN编辑器支持,某些本地编辑器不支持。
注脚会按照文章的顺序自动排序。
例子:
一个具有注脚的文本。[^1]
[^1]: 注脚的解释
1
2
1
2
显示:
一个具有注脚的文本。1
注释
CSDN编辑器支持,某些本地编辑器不支持。
例子(注释词前后要有空格):
Markdown兼容 HTML 语言。
*[HTML]: 超文本标记语言
1
2
1
2
显示:
Markdown兼容 HTML 语言。
LaTeX公式
CSDN编辑器中支持LaTeX数学公式,详情请见后文的LaTeX公式章节。Typroa软件支持,设置方法详见上文的 Markdown工具 - Typroa - 设置 章节。
Mermaid制图
CSDN编辑器中支持mermaid绘图,如甘特图,UML图等。详情及具体用法请见参考文档。
参考文档:链接 。
需要注意的是:有些本地编辑器不支持mermaid绘图,但如果使用VS Code,则可以通过安装Markdown Preview Enhanced或Markdown Preview Mermaid Support扩展的方式支持,详情请见上文的 Markdown工具 - VS Code - 配合Markdown使用的扩展 章节。
下方是一些图的简单绘制方法。
甘特图
```mermaid
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
section 现有任务
已完成 :done, des1, 2014-01-06,2014-01-08
进行中 :active, des2, 2014-01-09, 3d
计划一 : des3, after des2, 5d
计划二 : des4, after des3, 5d
```
显示:
Mon 06
Mon 13
Mon 20
已完成
进行中
计划一
计划二
现有任务
Adding GANTT diagram functionality to mermaid
UML图
```mermaid
sequenceDiagram
张三 - 李四: 你好!李四, 最近怎么样?
李四–王五: 你最近怎么样,王五?
李四–x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了
不适合放在一行.
李四–张三: 打量着王五…
张三-王五: 很好… 王五, 你怎么样?
```
显示:
张三
李四
王五
你好!李四, 最近怎么样?
你最近怎么样,王五?
我很好,谢谢!
我很好,谢谢!
李四想了很长时间, 文字太长了
不适合放在一行.
打量着王五...
很好... 王五, 你怎么样?
张三
李四
王五
FLowchart流程图
```mermaid
flowchat
st=start: 开始
e=end: 结束
op=operation: 我的操作
cond=condition: 确认?
st-op-cond
cond(yes)-e
cond(no)-op
```
显示:
开始
我的操作
确认?
结束
yes
no
导出与导入
导出
用户可以在CSDN文章中任意编辑。完成了一篇文章的写作后, 可以在上方工具栏找到 导出按钮 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果用户想加载一篇自己写过的.md文件或者.html文件,在上方工具栏可以选择导入按钮进行对应扩展名的文件导入,并继续创作。
字符实体
前言
与HTML字符实体相同,详情可参照HTML字符实体 。
空格
不换行空格,全称是 No-Break Space,它是最常见和我们使用最多的空格,大多数的人可能只接触了 ,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈。
半角空格,全称是 En Space,en是字体排印学的计量单位,为em宽度的一半。根据定义,它等同于字体度的一半(如16px字体中就是8px)。名义上是小写字母n的宽度。此空格传承空格家族一贯的特性:透明的,此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。
全角空格,全称是 Em Space,em是字体排印学的计量单位,相当于当前指定的点数。例如,1 em在16px的字体中就是16px。此空格也传承空格家族一贯的特性:透明的,此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。
其他
显示结果 描述 实体名称 实体编号
空格
小于号
|大于号 | |
≦ |小于等于 |≤
≧ |大于等于 |≥
|和号 | |
" |引号 |" |"
’ |撇号 |' (IE不支持) |'
¢ |分 |¢ |¢
£ |镑 |£ |£
¥ |日圆 |¥ |¥
€ |欧元 |euro |€
§ |小节 |§ |§
© |版权 |© |©
® |注册商标 |® |®
™ |商标 |™ |™
× |乘号 |× |×
÷ |除号 |÷ |÷
转义字符
写法:\+字符
用途:当某些特殊字符与Markdown语法冲突时,使用转义字符可以使字符强制显示,字符实体也可用转义字符显示。
示例:
\
显示:
\=\=
显示:==
\
显示:
等等
注意:使用字符实体也可以达到一样的效果,但不常用的或记不住的字符实体建议使用转义字符。
首行缩进
缩进2个汉字大小:
使用2个 (推荐)
使用4个
使用8个
空行
连续输入2个回车,即可打出一个空行。
输入HTML表签br,即可打出一个换行。
字体
普通文本:
*强调文本* _强调文本_
**加粗文本** __加粗文本__
==标记文本==
~~删除文本~~
引用文本
1
2
3
4
5
1
2
3
4
5
显示:
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
注意:强调文本即斜体文本。
组合文本:
加粗加斜:使用***或___
例子:***加粗加斜***
显示:加粗加斜
上下标
CSDN编辑器
此方法可能不适用某些本地编辑器,本地编辑器可以使用HTML方法或LaTeX公式方法。
上标:^文本^
下标:~文本~
例子:
H~2~O
2^10^
显示:
H2O
210
HTML方法
此方法比较同用,适用于各种Markdown编辑器,因为Markdown支持HTML。显示效果与CSDN编辑器相同。
上标:sup文本/sup
下标:sub文本/sub
例子:
Hsub2/subO
2sup10/sup
显示:
H2O
210
LaTeX公式方法
详情请见下文的 附录 LaTeX公式细节 - 上下标 章节。以下为简单的例子。
例子:
$x^z_{y+1}$
显示:
x y + 1 z x^z_{y+1}x
y+1
z
引用可嵌套
例子:
这是引用的内容
这是引用的内容
这是引用的内容
1
2
3
1
2
3
显示:
这是引用的内容
这是引用的内容
这是引用的内容
目录
Markdown基本语法并没有生成目录的功能,但很多平台或软件都支持生成目录,比如:CSDN博客平台、Typroa软件、等等。使用方法如下,输入下方命令即可在相应位置插入目录,该目录为Markdown文档内的标题组成的目录:
CSDN博客
@[TOC](目录名称) 或 @[toc](目录名称) 。
Typroa
[TOC] 或 [toc] 。
其他
同Typroa。
导出分页
在Markdown导出为PDF时,若想要设置分页,在Markdown文件想分页的位置输入如下HTML代码即可,再次导出即可显示分页效果。该语句已在Typroa软件中实验成功。
div style="page-break-after: always;"/div
或
div STYLE="page-break-after: always;"/div
1
2
3
1
2
3
链接
格式:[链接文本](链接地址 '链接标题')
说明:链接文本为显示的文字,链接地址为链接的网址,链接标题可以不写,是鼠标悬停在链接处显示的标题。
例子:
[Link]()
显示:
Link
列表
有序列表
示例:
1. 项目1
2. 项目2
3. 项目3
1
2
3
1
2
3
显示:
项目1
项目2
项目3
无序列表
示例:
- 项目
- 项目
- 项目
1
2
3
1
2
3
显示:
项目
项目
项目
待办列表
示例:
- [ ] 计划任务
- [x] 完成任务
1
2
1
2
显示:
计划任务
完成任务
多级列表
每写下一级有序列表或无须列表时,多缩进1个Tab(推荐)或 4 个空格。
有序多级列表示例:
1. 标题1
1. 标题1.1
1. 标题1.1.1
2. 标题1.1.2
2. 标题1.2
3. 标题1.3
2. 标题2
1
2
3
4
5
6
7
1
2
3
4
5
6
7
显示:
标题1
标题1.1
标题1.1.1
标题1.1.2
标题1.2
标题1.3
标题2
无序多级列表示例:
- 项目
- 项目
- 项目
1
2
3
1
2
3
显示:
项目
项目
项目
自定义列表
注意:CSDN编辑器支持,某些本地编辑器不支持。
例子(最前面要有空行):
Authors
: John
: Luke
1
2
3
1
2
3
显示:
Authors
John
Luke
图片
Markdown图片
插入图片格式:
在这里插入图片描述
注意: 图片替换文本是图片未显示时替换的文本,图片标题是鼠标悬停在图片上显示的文本,图片标题可不写,图片标题的引号用单引号和双引号都可以。图片地址可以是网络网址(),也可以是本地相对路径(推荐,如./images/pic1.jpg)或绝对路径。
例子:
![Alt]( 'title')
显示:
Alt
CSDN图片
CSDN平台针对Markdown的图片语法做了特殊处理,支持调整图片的大小和对齐方式,使用方法如下:
带尺寸的图片:
![Alt]( =30x30)
显示:
Alt
居中的图片:
![Alt]()
补充:图片居左为#pic_left,图片居右为#pic_right 。
显示:
Alt
居中并且带尺寸的图片:
![Alt]( =30x30)
显示:
Alt
为了让用户更加便捷,CSDN博客增加了图片拖拽功能。
HTML图片
即使不在CSDN平台,Markdown编辑器也可以实现调整图片大小和对齐方式的功能,因为Markdown支持HTML,使用HTML语言即可,使用方法如下:
居中图片
代码:
div align=[对齐方式] !--对齐方式可以为center,left,right--
img src="图片地址" alt="替换文字" width="宽度" height="高度"
/div
1
2
3
1
2
3
示例1:居中的图片
div align=center
img src=""
/div
1
2
3
1
2
3
显示:
示例2:居中且带尺寸的图片
div align=center
img src="" width="50%"
/div
1
2
3
1
2
3
显示:
图片居中标题
无论以何种方式插入图片,都有在图片下方输入图片标题的需求,使用HTML语法即可为图片添加居中标题,使用方法如下:
在图片下方添加如下HTML代码即可:
center图片标题/center
1
1
显示:
图片标题
表格
如果表格贴近行首,则可以使用简便方式制作表格
例子:
列1 | 列2
--- | ---
值1 |值2
值3 |值4
1
2
3
4
1
2
3
4
显示:
列1 列2
值1 值2
值3 值4
若表格前有Tab缩进,则左侧的 | 需补全,否则会出现第一列不显示的状况。
例子:
| 列1 | 列2
| --- | ---
| 值1 |值2
| 值3 |值4
1
2
3
4
1
2
3
4
显示:
列1 列2
值1 值2
值3 值4
完整的表格格式。
例子:
| 列1 | 列2 | 列3 |
| :--- | :---: | ---: |
| 文本居左 | 文本居中 | 文本居右 |
1
2
3
1
2
3
显示:
列1 列2 列3
文本居左 文本居中 文本居右
注意:最左侧(第一个) | 右端最好有1或2个空格,否则可能会出现未知错误(如缺失字符,对齐失效等)。
分割线
三个或者三个以上的 - 或者 * 都可以,效果是一样的。
注意分割线前要有空行。
例子:
(空行)
---
----
***
*****
1
2
3
4
5
1
2
3
4
5
显示:
代码块
单行代码块
代码只有一行或在文本中插入时可以使用,也可以叫行中代码块,格式为:`代码` 。
例子:
`print('Hello World!)`
显示:
print('Hello World!)
多行代码块
多行代码块可以插入多行代码,且可以标记编程语言的类型,如python,可以简写成py,JavaScript可以简写成js。
格式:
```编程语言类型
代码片段
代码片段
```
例子:
```py
for i in(1,11,1):
print(‘Hello World!’,end=‘\n’)
```
显示:
for i in(1,11,1):
print('Hello World!',end='\n')
1
2
1
2
技巧
代码块前面可以使用Tab缩进,显示的代码块前端也会有缩进。
例子:
print('前面有缩进。')
1
1
在CSDN博客设置页面,可以选择一款自己喜欢的代码片高亮样式。
LaTeX数学公式
介绍
CSDN支持LaTeX公式,但有些本地编辑器可能不支持LaTeX公式,Typroa可以更改设置支持,VS Code可以通过安装扩展的方式支持,详情请见上文的 Markdown工具 章节。
LaTeX数学公式的各种细节请参见我的另一篇博客:LaTeX数学公式-详细教程 。
官方文档:
传送门:官方文档
网址:
中文教程:
传送门:中文教程
网址:
技巧:使用在线LaTeX公式编辑器,来生成LaTeX公式代码,然后复制到Markdown编辑器中,并在两边加上$或$$即可。
在线LaTeX公式编辑器网址:
插入公式
左对齐公式(行中公式):$数学公式$
居中公式(独立公式):$$数学公式$$
注意:使用$行中公式时,数学公式与$连接处不要有空格,否则公式不会显示;使用$$居中公式时,数学公式与$$连接处可以有空格。即$ 数学公式 $ 不显示公式。
注释:%为单行注释。
细节:细节请参见我的另一篇博客:LaTeX数学公式-详细教程 。
注意事项
使用$,即行中公式时,数学公式与$连接处不要有空格,否则公式不会显示。
使用$$,即居中公式时,数学公式与$$连接处可以有空格。即$ 数学公式 $ 不显示公式。
使用$$时,上方要空一行。
=不要单独打一行,否则可能会出错。
+ - * / = ( ) | , . '等符号直接在$或$$之间输入即可识别。
c#中,字符串前加@是什么意思?
表示按照@后面的字符赋值,避免转义字符。
如:(@"C:\Program Files\Tencent\Tencent.exe ")。
在C#中”\“是转义符,所以当你写"c:\dos"时,C#会把”\d“当成转义符,所以加上@,C#就会认成"c:\dos"。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
扩展资料:
c#语言结构:
1、布尔运算:条件表达式的结果是布尔数据类型,布尔数据类型是这种语言中独立的一种数据类型,从布尔类型到其他类型没有直接的转换过程,布尔常量true和false是C#中的关键字。错误处理:如Java中那样,通过抛出和捕捉异常对象来管理错误处理过程。
2、内存管理:由底层.NET框架进行自动内存垃圾回收。
3、接口:是其他类型为确保它们支持某些操作而实现的引用类型。接口从不直接创建而且没有实际的表示形式,其他类型必须转换为接口类型。
一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接口可以包含方法、属性、索引器和事件作为成员。
4、强类型:C#是一个强类型的语言,它的数值类型有一些可以进行隐式转换,其他的必须显式转换,隐式转换的类型只能是长度短的类型转换成长的类型,int可以转换成long、float、double、decimal,反之必须显式的转换。
5、编译:程序直接编译成标准的二进制可执行形式.但C#的源程序并不是被编译成二进制可执行形式,而是一种中间语言(IL),类似于JAVA字节码。如果前面的Hello World程序被保存成一个
参考资料来源:百度百科-c#
正则表达式判断字符串中包含数字、大写字符、小写字母、特殊符号中的几种怎么判断?
他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式;如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式。那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益。
入门简介
简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或sed shell程序等。此外,象JavaScript这种客户端的脚本语言也提供了对正则表达式的支持。由此可见,正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。
举例来说,正则表达式的一个最为普遍的应用就是用于验证用户在线输入的邮件地址的格式是否正确。如果通过正则表达式验证用户邮件地址的格式正确,用户所填写的表单信息将会被正常处理;反之,如果用户输入的邮件地址与正则表达的模式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判断中具有举足轻重的作用。
基本语法
在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表达式的语法格式。
正则表达式的形式一般如下:
/love/
其中位于“/”定界符之间的部分就是将要在目标对象中进行匹配的模式。用户只要把希望查找匹配对象的模式内容放入“/”定界符之间即可。为了能够使用户更加灵活的定制模式内容,正则表达式提供了专门的“元字符”。所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
较为常用的元字符包括: “+”, “*”,以及 “?”。其中,“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次,“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次,而“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。
下面,就让我们来看一下正则表达式元字符的具体应用。
/fo+/
因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。
/eg*/
因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。
/Wil?/
因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者 “Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。
除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,
/jim/
上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。
在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。
\s:用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
\d:用于匹配从0到9的数字;
\w:用于匹配字母,数字或下划线字符;
\W:用于匹配所有与\w不匹配的字符;
. :用于匹配除换行符之外的所有字符。
(说明:我们可以把\s和\S以及\w和\W看作互为逆运算)
下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。
/\s+/
上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。
/\d000/
如果我们手中有一份复杂的财务报表,那么我们可以通过上述正则表达式轻而易举的查找到所有总额达千元的款项。
除了我们以上所介绍的元字符之外,正则表达式中还具有另外一种较为独特的专用字符,即定位符。定位符用于规定匹配模式在目标对象中的出现位置。
较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。其中,“^”定位符规定匹配模式必须出现在目标字符串的开头,“$”定位符规定匹配模式必须出现在目标对象的结尾,\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一,而“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说:
/^hell/
因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以 “hell”, “hello”或 “hellhound”开头的字符串相匹配。
/ar$/
因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以 “car”, “bar”或 “ar” 结尾的字符串相匹配。
/\bbom/
因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。
/man\b/
因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以 “human”, “woman”或 “man”结尾的字符串相匹配。
为了能够方便用户更加灵活的设定匹配模式,正则表达式允许使用者在匹配模式中指定某一个范围而不局限于具体的字符。例如:
/[A-Z]/
上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。
/[a-z]/
上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。
/[0-9]/
上述正则表达式将会与从0到9范围内任何一个数字相匹配。
/([a-z][A-Z][0-9])+/
上述正则表达式将会与任何由字母和数字组成的字符串,如 “aB0” 等相匹配。这里需要提醒用户注意的一点就是可以在正则表达式中使用 “()” 把字符串组合在一起。“()”符号包含的内容必须同时出现在目标对象中。因此,上述正则表达式将无法与诸如 “abc”等的字符串匹配,因为“abc”中的最后一个字符为字母而非数字。
如果我们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的模式中任选一个进行匹配的话,可以使用管道符 “|”。例如:
/to|too|2/
上述正则表达式将会与目标对象中的 “to”, “too”, 或 “2” 相匹配。
正则表达式中还有一个较为常用的运算符,即否定符 “[^]”。与我们前文所介绍的定位符 “^” 不同,否定符 “[^]”规定目标对象中不能存在模式中所规定的字符串。例如:
/[^A-C]/
上述字符串将会与目标对象中除A,B,和C之外的任何字符相匹配。一般来说,当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。
最后,当用户需要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“\”。例如:
/Th\*/
上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。
ASP中正则表达式的应用(一)
一、正则表达式概述
二、正则表达式在VBScript中的应用
三、正则表达式在VavaScript中的应用
四、示例
五、总结
一、正则表达式概述
如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。
请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件:data1.dat、data2.dat等等。如果使用 * 字符代替 ? 字符,则将扩大找到的文件数量。'data*.dat' 可以匹配下述所有文件名:data.dat、data1.dat、data12.dat等等,尽管这种搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使你对正则表达式能做什么有一个概念,不过正则表达式的功能更强大,也更灵活。
在我们编写ASP程序时,经常会判断一个字符串的有效性,如;一个串是否是数字、是否是有效的Email地址等等。如果不使用正则表达式,那么判断的程序会很长,并且容易出错,如果使用正则表达式,这些判断就是一件很轻松的工作了。后面我们将介绍如何判断数字和Email地址的有效性。
在典型的搜索和替换操作中,必须提供要查找的确切文字。这种技术对于静态文本中的简单搜索和替换任务可能足够了,但是由于它缺乏灵活性,因此在搜索动态文本时就有困难了,甚至是不可能的。
使用正则表达式,能完成些什么事情呢?
测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。
例如,如果需要搜索整个 web 站点来删除某些过时的材料并替换某些HTML 格式化标记,则可以使用正则表达式对每个文件进行测试,看在该文件中是否存在所要查找的材料或 HTML 格式化标记。用这个方法,就可以将受影响的文件范围缩小到包含要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料,最后,可以再次使用正则表达式来查找并替换那些需要替换的标记。
那么,正则表达式语法的语法是如何呢?
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
这里有一些可能会遇到的正则表达式示例:
/^\[ \t]*$/ "^\[ \t]*$" 匹配一个空白行。
/\d-\d/ "\d-\d" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。
/(.*).*\/\1/ "(.*).*\/\1" 匹配一个 HTML 标记。
二、正则表达式在VBScript中的应用
VBScript使用RegExp对象、Matches集合以及Match对象提供正则表达式支持功能。我们还是先看一个例子。
%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches '建立变量。
Set regEx = New RegExp '建立正则表达式。
regEx.Pattern = patrn '设置模式。
regEx.IgnoreCase = True '设置是否区分字符大小写。
regEx.Global = True '设置全局可用性。
Set Matches = regEx.Execute(strng) '执行搜索。
For Each Match in Matches '遍历匹配集合。
RetStr = RetStr "Match found at position "
RetStr = RetStr Match.FirstIndex ". Match Value is '"
RetStr = RetStr Match.Value "'." "BR"
Next
RegExpTest = RetStr
End Function
response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%
在这个例子中,我们查找字符串中有无is或者js这两个词,忽略大小写。运行的结果如下:
Match found at position 0. Match Value is 'IS1'.
Match found at position 4. Match Value is 'Js2'.
Match found at position 8. Match Value is 'IS3'.
Match found at position 12. Match Value is 'is4'.
下面我们就介绍这三个对象和集合。
1、RegExp对象是最重要的一个对象,它有几个属性,其中:
○Global 属性,设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 False。
○IgnoreCase 属性,设置或返回一个Boolean值,指明模式搜索是否区分大小写。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 False。
○Pattern 属性,设置或返回被搜索的正则表达式模式。必选项。总是一个 RegExp 对象变量。
2、Match 对象
匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问。 Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。所有的 Match 对象属性都是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。
○FirstIndex 属性,返回在搜索字符串中匹配的位置。FirstIndex 属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符 0
○Length 属性,返回在字符串搜索中找到的匹配的长度。
○Value 属性,返回在一个搜索字符串中找到的匹配的值或文本。
3、Matches 集合
正则表达式 Match 对象的集合。Matches 集合中包含若干独立的 Match 对象,只能使用 RegExp 对象的 Execute 方法来创建之。与独立的 Match 对象属性相同,Matches `集合的一个属性是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。每个 Match 对象都提供了与正则表达式匹配的字符串的访问入口、字符串的长度,以及标识匹配位置的索引。
学习了这三个对象和集合,如何应用于字符串的判断和替换呢?regExp对象的三个方法正好解决了这个问题,它们是Replace方法、Test方法和Execute方法。
1、Replace 方法
替换在正则表达式查找中找到的文本。我们还是先看个例子:下面的例子说明了 Replace 方法的用法。
%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立变量。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
Response.write ReplaceTest("fox", "cat") "BR" ' 将 'fox' 替换为 'cat'。
Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交换词对.
%
2、Test 方法
对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。
如果找到了匹配的模式,Test方法返回True;否则返回False。下面的代码说明了Test 方法的用法。
%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = False ' 设置是否区分大小写。
retVal = regEx.Test(strng) ' 执行搜索测试。
If retVal Then
RegExpTest = "找到一个或多个匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%
3、Execute 方法
对指定的字符串执行正则表达式搜索。正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。
Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。
三、JavaScript中正则表达式的使用
在JavaScript 1.2版以后,JavaScript也支持正则表达式。
1、replace
replace在一个字符串中通过正则表达式查找替换相应的内容。replace并不改变原来的字符串,只是重新生成了一个新的字符串。如果需要执行全局查找或忽略大小写,那么在正则表达式的最后添加g和i。
例:
SCRIPT
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
/SCRIPT
结果是:"oranges are round, and oranges are juicy."
例:
SCRIPT
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
/SCRIPT
结果是:"Twas the night before Christmas..."
例:
SCRIPT
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
/SCRIPT
结果是:"Smith, John".
2、search
search通过正则表达式查找相应的字符串,只是判断有无匹配的字符串。如果查找成功,search返回匹配串的位置,否则返回-1。
search(regexp)
SCRIPT
function testinput(re, str){
if (str.search(re) != -1)
midstring = " contains ";
else
midstring = " does not contain ";
document.write (str + midstring + re.source);
}
testinput(/^[1-9]/i,"123")
vb去掉字符串中的双引号
a="""123"""
'去掉如下
a=replace(a,"""","")
'主要涉及双引号vb.net转义符的转义
VB编程水仙花数
VB实现水仙花数的程序代码如下:
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
实现具体步骤如下:
1.启动VB程序,新建一个标准的exe项目,如下图。
2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码窗口,如下图。
3.接下来,开始为命令按钮编写单击事件。click事件实现了上面提供的程序代码,如下图。
4.按F5运行程序并单击命令按钮。水仙花产量为4:15,370,371,407,如下图。
扩展资料:
C语言实现水仙花数的代码:
#include stdio.h
#include stdlib.h
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事项:
VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。
VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。
VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用daos、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。
程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。
vb.net转义符的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb转义字符、vb.net转义符的信息别忘了在本站进行查找喔。