VB14的新功能!很好很强大!
vb.net吧
全部回复
仅看楼主
level 13
Nukepayload2 楼主
持续翻译中!一楼发一部分!
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
Nukepayload2 楼主
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
Nukepayload2 楼主
4,多行字符串
字符串里按回车不再报错,而且那个回车会被转换为Environment.NewLine并插入到字符串里。一般是转换成vbCrLf。
5,自动的属性可以是ReadOnly
例如:
ReadOnly Property Address As IntPtr=IntPtr.Zero
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月10日 17点01分 3
level 13
Nukepayload2 楼主
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
Nukepayload2 楼主
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
Nukepayload2 楼主
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分
@alexloco 最新版的才支持
2015年01月14日 03点01分
@alexloco 不过vb14现在还没完全开发
2015年01月14日 03点01分
level 10
[真棒]
2015年01月11日 11点01分 7
level 7
看得我流口水了。I Love VB!
2015年01月11日 15点01分 8
level 11
1挺亮 就是觉得不好看
2是用了反射的新功能吧
7是无参new?
5和15感觉早就该有了 这么拖闹哪样[喷]
2015年01月11日 17点01分 9
结构体无参数new
2015年01月12日 00点01分
期盼了很久才等到的功能
2015年01月12日 00点01分
再也不用写个没用的参数了
2015年01月12日 00点01分
NameOf没必要在运行时计算结果。编译时就能完成任务
2015年01月12日 00点01分
level 13
Nukepayload2 楼主
有人问我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
Nukepayload2 楼主
新的vbc.exe是开源的,而且是用vb写的(以前是c++),在多核处理器上速度提升50%。
这意味着高效的vb编译器能被移植了!!!
稍加改动,编译为可移植类库,加点nuget包,就能借助mono到处运行!
到Android,IOS不是梦!
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月16日 01点01分 11
这个好
2015年02月05日 04点02分
level 13
Nukepayload2 楼主
等了多年的东西终于来了!!
重要性排前14的改动
http://msdn.microsoft.com/en-us/magazine/dn890368.aspx
--来自相机+平板电脑+手机融合成的的Lumia 1520
2015年01月16日 02点01分 12
level 11
[真棒]
2015年01月17日 08点01分 13
level 13
Nukepayload2 楼主
其实好多东西微软没公布,比如MustOverride可以与Async组合使用
2015年01月18日 01点01分 14
level 12
满满的好评,虽然很少用得上
2015年01月21日 13点01分 15
level 13
Nukepayload2 楼主
编译器开源还有个好处,就是能在WP编译
2015年01月22日 02点01分 16
level 12
大神 膜拜
2015年02月07日 03点02分 18
1