目录
- var 类型推断介绍
- var的一个例子:
- 编程遵循规则
var 类型推断介绍
使用var定义变量时,用var关键字替代实际类型。编译器可以根据变量的初始化值自行“推断”变量的类型。
例如:
var A = 0;
等价于
int A = 0;
var的一个例子:
源码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace var类型推断
{class Program{static void Main(string[] args){var stName = "string";var nNumber = 12;var bStatus = true;Type NameType = stName.GetType();Type NumberType = nNumber.GetType();Type StatusType = bStatus.GetType();Console.WriteLine("stName is type {0:Type}", NameType);Console.WriteLine("nNumber is type {0:Type}", NumberType);Console.WriteLine("bStatus is type {0:Type}", StatusType);Console.ReadKey();{ //其他内容//C#6.0中$的用法:是为了替代string.format();//原先赋值需要占位符和变量,当需要拼接多个变量会造成语句过长等不易理解问题,//$""是为了替代string.format(),可以把字符串中的C#变量{}包含起来达到识别C#变量的目的$"{id}";//也支持表达式,使用$"{(你的表达式)}"// var k = "a"; // var a0 = "User"; // var a1 = "Id"; // var a2 = 5; // var ccc = string.Format("select * from {0} where {1} = {2}", a0, a1, a2); // var ccb = $"select * from {a0} where {a1}={a2}";也支持string.format()里面的格式,如:// var k = "a"; // var k4 = $"{k,5}"; // var k3 = string.Format("{0,5}", k); // var k2 = DateTime.Now;// var c = $"{k2:yyyy}"; // c = string.Format("{0:yyyy}", k2); //如果在C#6.0中//Console.WriteLine("stName is type {0:Type}", NameType);//可以写成//Console.WriteLine($"stName is type {NameType}");//是不是方便一点}}}
}
运行结果
编程遵循规则
- 变量必须进行初始化,否则编译器无法推断变量类型。
- 初始化时变量不能为空。
- 必须在表达式内进行初始化操作。
- 不能初始化时设置为一个对象,除非在初始化时新创建了一个对象。
PS
我的博客不定时分享日常工作中觉得有价值的内容,包括C#、C++、halcon、运动控制等等内容,喜欢的点赞,关注我。