目录

  • 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}");//是不是方便一点}}}
}

运行结果

编程遵循规则

  1. 变量必须进行初始化,否则编译器无法推断变量类型。
  2. 初始化时变量不能为空。
  3. 必须在表达式内进行初始化操作。
  4. 不能初始化时设置为一个对象,除非在初始化时新创建了一个对象。

PS
我的博客不定时分享日常工作中觉得有价值的内容,包括C#、C++、halcon、运动控制等等内容,喜欢的点赞,关注我。

var类型推断关键字相关推荐

  1. JDK8-JDK17中的新特性(var类型推断、模式匹配、Record、密封类)

    文章目录 1. 新语法结构 1.1 Java的REPL工具: jShell命令 1.2 异常处理之try-catch资源关闭 1.3 局部变量类型推断 1.4 instanceof的模式匹配 1.5 ...

  2. matlab中float类型的_Java局部变量类型推断(Var类型)的26条细则

    原文链接:https://dzone.com/articles/var-work-in-progress 作者:Anghel Leonard 译者:沈歌 Java局部变量类型推断(LVTI),简称 v ...

  3. Java 10 实战第 1 篇:局部变量类型推断

    现在 Java 9 被遗弃了直接升级到了 Java 10,之前也发过 Java 10 新特性的文章,现在是开始实战 Java 10 的时候了. 今天要实战的是 Java 10 中最重要的特性:局部变量 ...

  4. java中无法推断类型参数_Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫...

    java中无法推断类型参数 最近,Oracle采用了一种新策略,即每六个月发布一次新的语言版本. 该策略假定只有每个第3版都将提供长期支持或LTS. 快速说明: 具有LTS的当前版本是Java 8: ...

  5. Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫

    最近,Oracle采用了一种新策略,即每六个月发布一次新的语言版本. 该策略假定只有每个第3版都将提供长期支持或LTS. 快速说明: 具有LTS的当前版本是Java 8: Java 9仅应在2018年 ...

  6. Java 10:局部变量类型推断

    Java 10:局部变量类型推断 在本文中,我们将深入研究Java 10中引入的局部变量类型推断的新特性.我们将讨论使用局部变量类型推断的范围和局限性. 此功能是作为JEP(JDK增强提案)的一部分提 ...

  7. Java类型推断将不再支持可变性规范

    Java类型推断是一项推荐的Java特性,允许开发人员使用var关键字代替显式的变量类型声明.最近的报道显示,由于社区内无法就区分可变和不可变变量的实现方式达成一致意见,Java类型推断将不再支持使用 ...

  8. JDK10 局部类型推断

    JDK10 局部变量类型推断(一) JDK10 Local-Variable Type Inference 想要体验 JDK10 局部变量类型推断,可以选择Eclipse Oxygen或者Intell ...

  9. java全局变量和局部变量_Java 10:局部变量类型推断

    java全局变量和局部变量 In this article, we would take a deep dive at the new feature of Local-Variable Type I ...

最新文章

  1. 用户组管理之删除分组表数据
  2. 大数据能力提升项目| 学生成果展系列之三
  3. Git reset , revert, checkout的区别和联系
  4. IT民工系列——c#操作Microsoft IE,实现自动登录吧!
  5. 【s操作】轻松优雅的保存微信群图片和朋友圈图片
  6. VB.NET开发人员必备参考10本书目
  7. 小企业“银行存款”科目的核算内容包括哪些?
  8. mysql子查询sysdate_Oracle向MySQL 迁移相关事项
  9. 极速体验:Oracle 18c 下载和Scalable Sequence新特性
  10. wireshark抓包分析 --https
  11. 数据结构线性表的三个属性
  12. 8255工作方式一A口和B口输出
  13. 关于生活工作学习之感悟-第一篇
  14. Windows as a Service(3)——使用SCCM管理Windows10更新
  15. Spring整合MyBatis为什么导致MyBatis一级缓存失效
  16. Google地图坐标拾取器,地图选点,获取经纬度
  17. J-Flash下载STM32用J-link的设置方法
  18. 1matlab像素值及统计
  19. 冶金物理化学复习【6】吉布斯自由能的变化
  20. nodeJS版本升级

热门文章

  1. Climbing Stairs - Print Path
  2. 【转】DB2 常用命令
  3. cpu卡操作协议iso14443协议
  4. Javascript中正则表达式的全局匹配模式
  5. push模式的水晶报表,参数的设置要放在数据源设置之后
  6. java语言介绍 —(1)
  7. 简单的动画函数封装(2)
  8. mysql 各个版本驱动jar包
  9. 谈一谈并查集QAQ(上)
  10. BootstrapValidator验证