• Visual Studio 2008功能提升


    Visual Studio 2008的改进,我只是简单的进行一下提示,其实每个模块还有很多具体的细节需要进行研究,欢迎排砖。

    1.   隐式类型的本地变量和数组 var

    // anon is compiled as an anonymous type

    var anon = new { Name = "Terry", Age = 34 };

    // a is compiled as int[]

    var a = new[] { 0, 1, 2 };

    下面的集合初始值设定项使用对象初始值设定项来初始化在前面

    的一个示例中定义的Cat 类的对象。请注意,各个对象初始值设

    定项被分别括在大括号中,并且用逗号分隔。

    List<Cat> cats = new List<Cat>

    {

    new Cat(){ Name="Sylvester", Age=8 },

    new Cat(){ Name="Whiskers", Age=2},

    new Cat() { Name="Sasha", Age=14}

    };

    匿名类型

    var v = new { Amount = 108, Message = "Hello" };

    2.   提供通过静态类定义静态方法扩展对象方法

    Public Static class Extentsions{

      Public string exestr(this string str,int a)

    {

      Stringbuilder sb=new stringbuilder();

      For(int i=0;i<a;i++)

    {

      Sb.append(str);//重复a次

    }

    Return sb.tostring();

    }

    }

    3.   Lambda 表达式

    “Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,

    并且可用于创建委托或表达式目录树类型。

    – 所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为

    “goes to”。该Lambda 运算符的左边是输入参数(如果有),

    右边包含表达式或语句块。Lambda 表达式x => x * x 读作“x

    goes to x times x”

    delegate int del(int i);

    del myDelegate = x => x * x;

    int j = myDelegate(5); //j = 25

    采用Lambda表达式

    var results = people.Where(p => p.LastName == "White");

    (input parameters) => expression

    4.   什么是LINQ?

    LINQ是语言集成查询(Language Integrated Query)的简称,是Visual Studio 2008 和.NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁,支持各种数据源。

    查询基本操作(查询关键字)

    – from子句

    – where子句

    – select子句

    – group子句

    – into子句

    – orderby子句

    – join子句

    – let子句

    Ling特点

    1. 查询变量本身只是存储查询命令。实际的查询执行会延迟到在foreach 语句中循环访问查询变量时发生。此概念称为“延迟执行”

    // Query execution.

    foreach (int num in numQuery)

    {

    Console.Write("{0,1} ", num);

    }

    1. 强制立即执行

    • 执行聚合函数(Count、Max、Average、First)

    • 调用ToList(TSource>) 或ToArray(TSource>) 方法缓存结果

    //queryAllCustomers is an IEnumerable<Customer>

    var queryAllCustomers = from cust in customers

    select cust;

    5.   什么是LINQ to Objects?

    直接对任意IEnumerable 或Ienumerable(T) 集合使用 LINQ 查询,

    无需使用中间LINQ 提供程序或API,如LINQ to SQL 或LINQ to XML。

    可以使用 LINQ 来查询任何可枚举的集合,如List(T)、Array 或Dictionary(T)。该集合可以是用户定义的集合,也可以是 .NET Framework API 返回的集合

    • LINQ和字符串

    • LINQ和反射

    • LINQ和文件目录

    • LINQ和ArrayList

    6.   LINQ to DataSet

    获取数据源

    • 实现IEnumerable(T)泛型接口的数据源可以通过LINQ 进行查询。对DataTable 调用 AsEnumerable 将返回实现泛型IEnumerable(T)接口的对象,作为LINQ to DataSet 查询的数据源

    – 创建查询

    • 此查询变量不执行任何操作,也不返回任何数据;它只存储查询信息。 创建查询后必须执行该查询以检索任何数据

    – 执行查询

    • 查询的执行将推迟到在 foreach 或 For Each 循环中环访问查询变量之后进行。这称为“延迟执行”与返回一系列值的延迟查询相反,返回单一实例值的查询将立即执行。Count、Max、Average 和 First 是一些单一实例查询的示例

    DataSet ds = new DataSet();

    FillDataSet(ds);//填充数据

    DataTable products = ds.Tables["Product"];

    IEnumerable<DataRow> query = from product in products.AsEnumerable()

                                             select product;

    Console.WriteLine("Product Names:");

    foreach (DataRow p in query)

    {

           Console.WriteLine(p.Field<string>("Name"));//循环输出字段值

    }

    Field 方法提供对 DataRow 列值的访问,而 SetField 设置 DataRow中的列值。

    • Field 方法和SetField 方法都可以处理可以为null 的类型,因此不必像前面的示例那样检查 Null 值。

    • 这两种方法也都是泛型方法,因此不必强制转换返回类型

     

    7.   语言集成查询(LINQ)之LINQ to SQL

    8.   语言集成查询(LINQ)之LINQ to XML入门篇

    9.   新设计视图和 CSS 设计工具、新增js智能感知、Ajax智能感知

    10.         数据访问功能提升

    TableAdapterManager.UpdateAll(TypedDataset)

    TableAdapter功能的提升

  • 相关阅读:
    vmware克隆linux出错:Device eth0 does not seem to be present
    IDEA中项目路径问题
    Intellij idea 报错:Error : java 不支持发行版本5
    equals和==的区别
    指定Python版本下pip安装“pip install”
    大数据5V特点(5Vs of Big Data)
    大二下每周总结
    大二 下学期——期末个人总结(课程评价及加分项)
    大二下学期第二次个人作业第二阶段
    大二下学期第二次个人作业第二阶段
  • 原文地址:https://www.cnblogs.com/lijinchang/p/3042527.html
Copyright © 2020-2023  润新知