zoukankan      html  css  js  c++  java
  • 实例 C#3.0与C#2.0相比之新特性(三)匿名类型 匿名变量

    在C#3.X中引进了var这个新关键字,在声明局部变量时可用于替代原先的类型名,即当一个变量声明标识为var类型并且该范围域中没有var名称类型存在,那么这个声明就称为隐含类型局部变量。先来看个完整的DEMO吧:

    Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace WebApplication1
    {
        
    public partial class AnonymousTypes : System.Web.UI.Page
        {
            
    protected void Page_Load(object sender, EventArgs e)
            {
                var INT 
    = 1;
                var FLOAT 
    = 3.1415926;
                var STRING 
    = "Hello World";
                var oStaff 
    = new {Name="qiujuan",Sex="Male",Age=22 };
                var aAge 
    = new[] { 22,23,24,25,26};
                var aStaff 
    = new[]{
                    
    new {Name="syf",Sex="Male",Age=27 },
                    
    new {Name="zjy",Sex="Male",Age=25 },
                    
    new {Name="qiujuan",Sex="Male",Age=22}
                };
                Response.Write((INT
    +FLOAT).ToString()+STRING+"<BR>");
                Response.Write(oStaff.Name
    +"<br>");
                
    foreach(var item in aStaff)
                Response.Write(
    string.Format("姓名:{0} 性别:{1} 年龄{2}<br>",item.Name,item.Sex,item.Age));
            }
        }
    }

    值得注意的几个地方:

    • 初始化语句必须为表达式,不可以为空。且编译时可以推断类型。一旦初始化之后,只可以存储这种类型。
    • var声明的仅限于局部变量,不可用于字段。亦可以用于for,foreach,using 等语句中。
    • 数组也可以作为隐含类型。
    • 初始化语句不能是一个自身的对象或者集合初始化器,但是他可以是包含一个对象或者初始化器的一个new表达式。
    • 如果局部变量声明包含了多个声明符,其类型必须相同。
  • 相关阅读:
    c++中单引号和双引号的区别
    C++ 数组
    C++ 输出到文本文件
    C++中文本的读入
    C++ 输入和输出
    C++构造函数和文件组织
    Linux中使用gcc编译文件
    linux下修改gcc编译器版本
    Git--创建与合并分支
    'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1369325.html
Copyright © 2011-2022 走看看