A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢玲 中级黑马   /  2012-12-16 15:47  /  2304 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

var i=10
int i=10
这两句话的区别??

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 刪除記忆ご 于 2012-12-16 16:02 编辑

var是在C#3.0中提供了一种新的声明变量的方式。通过这个关键字,在声明变量时就无需指定类型了,变量类型是在初始化时由编译器确定的。
所以,var i=10,是没有指定类型的变量,它的初始值为10。
而,使用int i=10;是告诉编译器我定义的是一个整形 的变量i,它的初始值是10。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
var i=10;
var定义变量,并没有给变量指定类型。如果给变量赋值,则系统会根据赋值的类型自动给变量分配数据类型和占用空间。
int i=10;
int定义变量为整形,定义的时候就确定了数据类型和空间,假如赋值不是整形就会报错。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
var i=10定义了一个弱类型的变量 i 并给它赋初值为10,系统会根据它的值而做相应的类型转换。在此系统会认为 i为整型变量。
int i=10定义了一个整型的变量 i ,如果赋值不为整型则编译不通过。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
var i=10;是没有指定类型的变量,系统根据你的赋值的类型自动给变量分配数据类型
int i=10;是定义了一个整形变量i,它的初始值是10。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
var 是JS中定义变量的形式,因为JS是弱类型的,用var定义,可以根据定义的值确定数据类型。如 var i=0;i=“abc”,这种方式在JS中是允许的,前者会默认为整形,后者会默认为字符型,并根据类型分配内存。而int直接规定了整形数据,这样的话,就分配个整形内存空间给变量。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马