C# —— var

var a; 报错

 var: 在声明的时候 不清楚变量的类型,复制成功之后才会知道变量的类型,var在定义完变量一定要赋值,可以接收任意类型的变量

var a = 10;
var s = "abc";

List<int> list = new List<int>();// 定义list
var list1 = new List<int>();//var 定义list

Dictionary<string, string>dic = new Dictionary<string,string>();// 定义字典
var dic1 = new Dictionary<string, string>();// var字典

 2 decimal 十进制类型

decimal s1 = 10;

dynamic s2 = "abc";

 dynamic 可以定义任意类型的变量,他是弱类型。
            1 dynamic 定义的变量类型就是dynamic 类型。 var在声明的时候没有类型赋值的时候才有类型
            2 dynamic 定义完变量之后 在调用对应的方法的时候没有提示
            3 dynamic 定义的变量,进行非该类型的操作的时候,将会在运行期间保存,var声明将会在编译期间进行()报错。

var 使用场景  

 1.数组的遍历的地方foreach(var item in aa)
ArrayList aa = 
### C# 中 `var` 关键字的功能 在C#中,`var`关键字允许编译器根据初始化表达式的右侧推断局部变量的类型[^2]。这意味着开发者无需显式指定变量的具体类型,从而简化代码书写。 #### 使用场景解释 1. **匿名类型** 当创建匿名类型时,由于无法为其提供具体名称,因此使用`var`变得必要。例如: ```csharp var anonymousObject = new { Name = "Alice", Age = 30 }; Console.WriteLine(anonymousObject.Name); ``` 2. **明显类型推断** 对于那些类型非常明显的声明语句,利用`var`可以让代码更简洁而不牺牲可读性: ```csharp var numberList = new List<int> { 1, 2, 3, 4, 5 }; // 明确是整数列表 foreach (var item in numberList) { Console.Write(item + " "); } ``` 3. **复杂泛型结构** 处理复杂的泛型集合或对象时,`var`有助于减少冗长的语法并使代码更容易阅读: ```csharp Dictionary<string, Dictionary<int, string>> complexDict; // 可以写作: var simplerComplexDict = new Dictionary<string, Dictionary<int, string>>(); ``` 4. **Lambda 表达式** 配合lambda表达式一起使用时,`var`同样能够增强代码的表现力和易懂程度: ```csharp Func<int, int, int> addNumbers = (a, b) => a + b; var result = addNumbers(5, 7); // 结果为12 ``` 需要注意的是,在享受这些便利的同时也要注意保持代码清晰度;不恰当的应用可能会降低程序的理解难度。应当遵循最佳实践原则——即仅在确实能带来好处的地方采用`var`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值