C#中 var是个什么意思?

C#中 var的意思

var关键字是C#3.0开始新增的特性,称为推断类型(其实也就是弱化类型的定义)

VAR可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型,类似 OBJECT,但是效率比OBJECT高点。

我们可以赋予局部变量推断“类型”var而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。

示例:
原先定义变量,是要这样: 数据类型 变量名 = 值;

如:
int a = 1;
string b =“2”;

也就是说,"必须先明确地"指定你的变量是什么数据类型,才能给它赋值.这点很重要,要记住才好比较.

现在在C# 3.0里,有了变化,就是可以不用像上面那样定义变量了.

如:
var a =1 ;
IDE或编译器会根据你给a 的值:1,来"推论,断定"a是一个整数类型.

同理:
var b =“2”;

因为给b的值是"2"这样一个字符串,所以,b就是string类型…

Ps.当你无法确定自己将用的是什么类型,就可以使用VAR
  
var声明语法并不能说明C#支持弱类型,实际上C#仍然是强类型语言,因为在编译时var声明的类型将会根据赋值语句自动判定。
使用var关键字声明变量的时候,一定要有初始值,不然编译器无法得知该变量的类型,会发生编译时报错:
var str1; //编译时报错
var str1 = “I love China”;// 编译正常,str1为string类型

使用var定义变量时有以下四个特点:
  1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
   var s;
   s = “abcd”;
  2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
  3. var要求是局部变量。
4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

不推荐经常使用var,
因为自己在写代码的时候知道是什么类型用var不会觉得怎么样,
但别人维护代码的时候就不知道这个var是什么类型,需要再看一遍实现方法,会增加维护难度

也没有一定之规。 全看自己方便和公司的规则。 用var写起来方便一点,但读起来费劲一点。
需要经常维护或者多人合作的项目尽量不要用var

C#,冒号(:)有多种用途,具体取决于上下文。以下是冒号在C#的几种常见用法: 1. 类的继承:冒号用于表示一个类继承自另一个类。例如,class MyClass : MyBaseClass 表示 MyClass 类继承自 MyBaseClass 类。 2. 接口的实现:冒号用于表示一个类实现了一个或多个接口。例如,class MyClass : IMyInterface 表示 MyClass 类实现了 IMyInterface 接口。 3. 条件表达式的标签:冒号用于在条件表达式标记一个标签。例如,label: if (condition) 表示在条件为真时跳转到标签处。 4. switch语句的case标签:冒号用于在switch语句标记一个case标签。例如,case 1: 表示当switch表达式的值等于1时执行该case下的代码。 5. 命名空间的别名:冒号用于给命名空间指定一个别名。例如,using MyAlias = MyNamespace; 表示将 MyNamespace 命名空间的别名设置为 MyAlias。 总结起来,冒号在C#的意思取决于上下文,可以表示类的继承、接口的实现、条件表达式的标签、switch语句的case标签以及命名空间的别名。 #### 引用[.reference_title] - *1* [在C#??和?分别是什么意思?(转)](https://blog.csdn.net/weixin_34301307/article/details/86085301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C# var是个什么意思?](https://blog.csdn.net/m0_65636467/article/details/127692279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薪薪代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值