zoukankan      html  css  js  c++  java
  • c#中var的用法

    一、VAR 是3.5新出的一个定义变量类型,其实也就是弱化类型的定义,VAR可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型的。




    二、至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型,就可以使用VAR 类似 OBJECT,但是效率比OBJECT高点。



    三、使用var定义变量时有以下四个特点:

      1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
                                            var s;
                                         s = “abcd”;

      2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。

      3. var要求是局部变量

      4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

    四 、var 关键字的常见用途是用于构造函数调用表达式。

     1.使用 var则不能在变量声明和对象实例化中重复类型名称,如下面的示例所示:

    var xs = new List<int>();
    

    2.从 C# 9.0 开始,可以使用由目标确定类型的 new 表达式作为替代方法:

    List<int> xs = new();
    List<int>? ys = new();

    3.下面的示例演示两个查询表达式。 在第一个表达式中,var 的使用是允许的,但不是必需的,因为查询结果的类型可以明确表述为 IEnumerable<string>。 不过,在第二个表达式中,var 允许结果是一系列匿名类型,且相应类型的名称只可供编译器本身访问。 如果使用 var,便无法为结果新建类。 请注意,在示例 #2 中,foreach 迭代变量 item 必须也为隐式类型。

    // Example #1: var is optional when
    // the select clause specifies a string
    string[] words = { "apple", "strawberry", "grape", "peach", "banana" };
    var wordQuery = from word in words
                    where word[0] == 'g'
                    select word;
    
    // Because each element in the sequence is a string,
    // not an anonymous type, var is optional here also.
    foreach (string s in wordQuery)
    {
        Console.WriteLine(s);
    }
    
    // Example #2: var is required because
    // the select clause specifies an anonymous type
    var custQuery = from cust in customers
                    where cust.City == "Phoenix"
                    select new { cust.Name, cust.Phone };
    
    // var must be used because each item
    // in the sequence is an anonymous type
    foreach (var item in custQuery)
    {
        Console.WriteLine("Name={0}, Phone={1}", item.Name, item.Phone);
    }

    本文转载于:https://wenda.so.com/q/1378644256068714

  • 相关阅读:
    hrbust1841再就业(状态压缩dp)
    并查集 poj2236
    JavaScript 常用单词整理
    HTML/CSS 常用单词整理
    HTML/CSS 知识点
    JavaScript 知识点
    ArcGIS裁剪影像数据
    小小程序员
    ArcGIS平面阴影制作
    前端相关的seo技术
  • 原文地址:https://www.cnblogs.com/eve612/p/13628242.html
Copyright © 2011-2022 走看看