匿名类型var自动类型推断

using System;

namespace Frank
{
    public class Sample
    {
        public static void Main(string[] args)
        {
            var name = "Bugs Bunny";
            var age = 25;
            var isRabbit = true;
            Type nameType = name.GetType();
            Type ageType = age.GetType();
            Type isRabbitType = isRabbit.GetType();
            Console.WriteLine("name is type " + nameType.ToString());
            Console.WriteLine("age is type " + ageType.ToString());
            Console.WriteLine("isRabbit is type " + isRabbitType.ToString());
        }
    }
}

输出结果:

name is type System.String
age is type System.Int32
isRabbit is type System.Boolean

使用前必须对匿名类型进行初始化

初始化器不能为空。

一旦声明确定类型后就不能再次改变类型。

时间: 2024-08-29 14:38:25

匿名类型var自动类型推断的相关文章

C++11新特性:自动类型推断和类型获取

声明:本文是在Alex Allain的文章http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html的基础上写成的. 加入了很多个人的理解,不是翻译. 转载请注明出处 http://blog.csdn.net/srzhz/article/details/7934483 自动类型推断 当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型: [c

推断类型var

1.为什么使用推断类型var var可以根据变量的初始值自动推断局部变量类型,当无法确定所用变量的具体类型时可使用var 2.如何使用推断类型var 客户端代码 static void Main(string[] args) { var a = 10; var className = "var的学习"; //var student = new Student{StudentName = "王华", Age = 27};//创建对象 var student = new

C#中的自动属性、隐式类型var、对象初始化器与集合初始化器、扩展方法

1.自动属性(Auto-Implemented Properties) //以前的写法 .net2.0 private string _userName; public string UserName { get { return _userName; } set { _userName= value; } } //现在 只适合3.5以上 public string_userName {get;set;} 2.隐式类型var 它是在编译已经能确定变量的类型,是根据后面的值自动推断类型,编译时把推

隐式类型var

隐式类型var (1)现在越来越多的项目中你可以看到var,这是什么意思呢?其实这就是C#3.0新特性提供的隐士类型var,var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型. var Kencery="大家晚上好";   //定义变量 var list=new List<int>();    //定义一个List集合 var Kencery=new{ID=1,Name="HYL",age=24}  //对象初始化起定义的类型 var gen

《Effective Modern C++》翻译--条款2: 理解auto自动类型推导

条款2: 理解auto自动类型推导 如果你已经读过条款1关于模板类型推导的内容,那么你几乎已经知道了关于auto类型推导的全部.至于为什么auto类型推导就是模板类型推导只有一个地方感到好奇.那是什么呢?即模板类型推导包括了模板.函数和参数,而auto类型推断不用与这些打交道. 这当然是真的,但是没关系.模板类型推导和auto自动类型推导是直接匹配的.从字面上看,就是从一个算法转换到另一个算法而已. 在条款1中,阐述模板类型推导采用的是常规的函数模板: template<typename T>

泛型中的类型约束和类型推断

前一篇文章介绍了泛型的基本概念.在本文中,我们看一下泛型中两个很重要的特性:类型约束和类型推断. 类型约束 相信你还记得前面一篇文章中的泛型方法,在这个泛型方法中,我们就使用了类型约束. 类型约束(type constraint)进一步控制了可指定的类型实参,当我们创建自己的泛型类型或者泛型方法的时候,类型约束是很有用的. 回到前一篇例子中的泛型方法,这个泛型方法就要求可指定的类型实参必须实现了IComparable接口. 为什么会有这个约束呢?原因很简单,因为我们在泛型方法的实现中直接调用T类

初窥C++11:自动类型推导与类型获取

auto 话说C语言还处于K&R时代,也有auto a = 1;的写法.中文译过来叫自动变量,跟c++11的不同,C语言的auto a = 1;相当与 auto int a = 1;语句. 而C++11的auto是有着严格的类型推导出来的.以前是这么写 int a = 1; 现在,编译器知道a是int型了.所以可以这么写 auto a = 1; 对于类型比较长的,如vector<string>::iterator这类的,能少敲些字符了. 如果仅仅就这点作用,那么对编程实在没什么太大的益

第二十一篇 Java 数据类型的定义 ,以及基础类型的自动转换和强制转换

大家好,今天呢我吧我所学到的一些知识点共享给大家,希望大家看完之后,要是有什么不懂的,请随时联系我,要是觉得我写的不是很好的 ,还希望你们能够谅解一下,因为小弟我刚学会写博客也没多久,很多格式和方法都不是很完善,希望大家多多包涵,好了 废话就不多说了,来谈一下今天我所学到的一些知识点吧: 今天我主要是学到了一些Java中的数据类型,其中,Java中的数据类型分为俩类------基础数据类和逻辑数据类,下面我所介绍的都是基本数据类的一些分类,至于逻辑类,由于使用次数过少,所以今天就不再这里多做介绍

java 基本数据类型及自动类型提升

1.Java的8种基本数据类型及其所占空间大小: boolean  8bit/1byte byte      8bit/1byte char      16bit/2byte short     16bit/2byte float      32bit/4byte int        32bit/4byte long      64bit/8byte double  64bit/8byte 2.Java自动类型转换 1)两种类型是彼此兼容的 2)转换的目的类型占得空间范围一定要大于转化的源类型