VB.Net和C#.Net有啥差异?优缺点是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB.Net和C#.Net有啥差异?优缺点是啥?相关的知识,希望对你有一定的参考价值。
.NET是平台,vb.net,c#.net就是.net平台下的两种编程语言,如果你对vb比较熟悉,可以去学习vb.net,其实就相当于vb在.net下的升级版,但向后兼容性不是很好。追问VB没学,VB.Net才自学了一些。C#.Net也刚接触一点。
追答编程语言随便学习一门即可,学完一门 上手其他会非常快。主要是思想。
参考技术A 实现都基本一样,书写语法完全不同VB.net书写代码更加智能---vb6的建议转vb.net
c#用的人比较多,适合有C基础的追问
VB没学,VB.Net才自学了一些。C#.Net也刚接触一点。
追答如果是一遍空白,建议学C#,毕竟和C,C++长得像
VB.NET 中“(字节)”的等价物是啥?
【中文标题】VB.NET 中“(字节)”的等价物是啥?【英文标题】:What is the equivalent of "(byte)" in VB.NET?VB.NET 中“(字节)”的等价物是什么? 【发布时间】:2012-08-30 08:05:45 【问题描述】:VB.NET中(byte)
的等价物是什么:
C#:
uint value = 1161;
byte data = (byte)value;
数据 = 137
VB.NET:
Dim value As UInteger = 1161
Dim data1 As Byte = CType(value, Byte)
Dim data2 As Byte = CByte(value)
异常:算术运算导致溢出。
如何才能获得与 C# 相同的结果?
【问题讨论】:
一个字节可能存储255(无符号),C#默默地转换值,而VB好像没有。 【参考方案1】:要获取最重要的字节,您可以做一些相当hackalicious
Dim data1 = BitConvertor.GetBytes(value)(0)
这是明确的,您不需要禁用溢出检查。
【讨论】:
【参考方案2】:默认情况下,C# 不检查整数溢出,但 VB.NET 会。
如果你在 C# 中遇到相同的异常,例如将您的代码包装在 checked
块中:
checked
uint value = 1161;
byte data = (byte)value;
在您的 VB.NET 项目属性中,启用 配置属性 => 优化 => 删除整数溢出检查,然后您的 VB.NET代码将与您的 C# 代码完全一样。
然后对整个项目禁用整数溢出检查,但这通常不是问题。
【讨论】:
提议更改设置以禁用 all 溢出检查只是为了使一个语句有效。 禁用所有溢出检查根本不是问题(事实上,我从未遇到过这种情况)。如果你覆盖GetHashCode()
,你可能还是想禁用它。
@BigYellowCactus 你不知道溢出检查是否依赖于项目的其他地方。在没有现有代码的项目开始时更改此设置会很好,但在大型开发项目中,如果您这样做,则需要重新测试所有内容。【参考方案3】:
尝试首先从数字中删除最重要的字节,然后将其转换为字节:
Dim value As UInteger = 1161
Dim data1 As Byte = CType(value And 255, Byte)
Dim data2 As Byte = CByte(value And 255)
【讨论】:
以上是关于VB.Net和C#.Net有啥差异?优缺点是啥?的主要内容,如果未能解决你的问题,请参考以下文章