level 13
持续翻译中!一楼发一部分!
1.新的运算符 ?. 非空时取成员
原本是
If Student IsNot Nothing AndAlso Student.Name="Nukepayload2" Then Debug.Write(1)
用新的运算符写就是
If Student?.Name="Nukepayload2" Then Debug.Write(1)
如果需要默认值,使用If即可。
Dim ID=If(Student?.ID,-1)
如果Student是Nothing,ID会是-1。
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
1
level 13
2,NameOf运算符
取变量名为字符串。
在编写ArgumentException时非常好用。例如NameOf(n2)得到字符串n2。跟c++的宏替换#define NameOf(x) "x"有点像。
3,内部插入的字符串
$"结果是:{Msgbox(1,vbYesNo)}"
相当于
String.Format("结果是:{0}",Msgbox(1,vbYesNo))
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
2
level 13
4,多行字符串
字符串里按回车不再报错,而且那个回车会被转换为Environment.NewLine并插入到字符串里。一般是转换成vbCrLf。
5,自动的属性可以是ReadOnly
例如:
ReadOnly Property Address As IntPtr=IntPtr.Zero
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
3
level 13
6,注释可以加到行继续后面。
Dim a=1+2-3+ '这是个数学题
4+2-3+4+5- '还得加点东西
123 '完毕!
7,结构体的Sub New可以不带Shared了
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
4
level 13
8,日期。
Dim d =
#1995-12-18#
d就是1995年12月18号。
9,Overrides 隐含 Overloads
写出来的类库会更好地支持c#
10,接口功能增强
接口多重继承时如果函数名冲突则使用重载规则处理
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
5
level 13
11,命名空间导入规则放宽
例如
原本System.Threading与System.Windows.Threading
存在时,你导入了System和System.Windows写Threading.xxx会报错,现在会把他们的Threading都导入。
12,TypeOf ... IsNot
13,#Region运行在函数里使用
新增#Disable Warning压制警告
#Disable Warning 警告号,...
压制一种或几种警告
把Disable换成Enable就是解除压制警告
14,xml注释会表现得类似c#,例如会显示异常
15,部分模块,部分接口
像用部分类那样,加个Partial就行。
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分
6
可以函数或过程内加region块吗?
2015年01月14日 02点01分
level 13
有人问我NameOf,我把官方解释发一下
The NameOf operator isn’t evaluated at run time: It’s a compile-time constant, in this case the constant string “s.” The reason to use NameOf(s) is that it safeguards you against typos. For instance, if you rename the method parameter, then the NameOf argument will be renamed automatically. That wouldn’t have happened with just a string literal.
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月16日 01点01分
10
level 13
新的vbc.exe是开源的,而且是用vb写的(以前是c++),在多核处理器上速度提升50%。
这意味着高效的vb编译器能被移植了!!!
稍加改动,编译为可移植类库,加点nuget包,就能借助mono到处运行!
到Android,IOS不是梦!
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月16日 01点01分
11
level 13
其实好多东西微软没公布,比如MustOverride可以与Async组合使用
2015年01月18日 01点01分
14