美文网首页T-Sql
2018年10月10日.NET笔试面试题

2018年10月10日.NET笔试面试题

作者: 墨弄笔 | 来源:发表于2018-10-10 15:19 被阅读637次

请用LINQ技术输出数组中所有大于100的偶数项

int[] MyNum = new int []{100,20,2,8,4,104,1,21,101,201,202}

解答

// 将制定的查询表达式结果集赋值给newnum变量
var newnum = from n in num 
            where n % 2 == 0 && n > 100
            select n;

foreach (var m in newnum)
{
    console.WriteLine("小于100的偶数项:{0}", m)
}

分析

  • 本题解答中应用了LINQ査询表达式。
  • 査询表达式是使用声明性査询语法编写的,它可以使用最少的代码对数据源执行复杂的筛选、排序和分组操作。
  • 使用相同的基本査询表达式模式来査询和转换各种数据源的数据,开发效率以及代码重用性都会提高很多。从查询表达式的语言上看,非常类似于SQL查询句。
  • var是C#的特性,可以更方便地定义变量,在编译时编译器将变量自动定义为结果集对象实际的数据类型。
  • 实际上,LINQ的查询表达式所返回的结果集是一个实现了IEnumerable<T>接口的对象,根据表达式的不同,其对象类型也不同,这些类型都位于System.Query命名空间。
  • 编程者很多时候并不需要知道结果集具体的类型,很显然,用var来定义引用结果集的变量类型再合适不过,并且大大简化了代码。
  • 同样,在遍历输出子项时,foreach语句中的下项类型也可以用var来定义,这样,进一步增加了代码的重用性。
  • 在查询表达式中,有一个没有定义的变量n,该变量用于代表num中符合条件的子项,如果编程者愿意,完全可以用其他自定义的合法标识符代替n。

ExecuteNonQuery方法和ExecuteScalar方法有何区别

  1. ExecuteNonQuery()执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。
  2. ExecuteScalar()执行命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1行第1列,而忽略其他的行和列。该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型。如果SQL语句不是SELECT查询,则返回结果没有任何作用。

描述DataSet的特点

解答

  1. 处理脱机数据,在多层应用程序中很有用。
  2. 可以在任何时候査看DataSet中任意行的内容,允许修改查询结果的方法。
  3. 处理分级数据。
  4. 缓存更改。
  5. XML的完整性DataSet对象和XML文档几乎是可互换的。

分析

  • DataSet是ADO.NET的核心概念,可以把DataSet当成服务器内存中的数据库。
  • DataSet是不依赖于数据库的独立数据集合,所谓独立,就是说即使断开数据源连接,或者关闭数据库后DataSet依然是可用的。
  • DataSet在内部是用XML来描述数据的,由于XML是与平台、语言无关的数据描述语言,所以DataSet实际可以容纳具有复杂关系的数据。*

相关文章

网友评论

    本文标题:2018年10月10日.NET笔试面试题

    本文链接:https://www.haomeiwen.com/subject/zwbpaftx.html