提出问题

下面所给代码编译时正常,但是执行时会出错,请指出程序在执行时能够执行到编号为(1)(2)(3)的代码行中的哪一行。
using System;
using System.Collections.Generic;
using System.Linq;
namespace DeferredExecutionExp
{
class Program
{
static void Main(string[] args)
{
List<Student> studentList = new List<Student>()
{
new Student(){Id =1, Name="ZhangSan", Age=20},
new Student(){Id =2, Name=null, Age=21},
new Student(){Id =3, Name="Lisi", Age=22}
};
var queryedStudentList = studentList.Where(it => it.Name.Trim() != "ZhangSan");//(1)
if (queryedStudentList.Count() > 0)//(2)
{
foreach (var student in queryedStudentList)//(3)
{
Console.WriteLine(student.Name);
}
}
}
}
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}
问题分析
其实,发现问题并不难,很显然在执行代码“it => it.Name.Trim()”时会出错,因为集合studentList中第二个学生的Name属性为null,当遍历到该学生时,对其Name属性执行Trim操作,不出错才怪呢。既然在这里会出错,那么程序肯定是执行到该行就GameOver了呀。但是实际情况又会是这样吗?
动手验证
单步调试程序,发现:执行到代码行(1)时,程序并没有出错,而是在执行代码行(2)时,程序才出现了异常,查看异常信息,却提示的是在执行代码行(1)时有问题,为什么会这样呢?为什么执行到代码行(2)时还会去执行代码行(1)呢?这全都是因为Linq的延迟查询导致的。
延迟查询
延迟查询的意思是说:在运行期间定义查询表达式时,查询不会执行,只有到迭代数据项时查询才会被执行。本例中的代码行(1)只是定义了查询,而代码行(2)中当调用Count方法时便会遍历数据项,这时便会执行查询,也就是说会去执行代码行(1)定义的查询,最终导致了本例中这种现象的出现。
所以,本例中的代码最终能够执行到的代码行是(2)。
相关推荐:
Chatttst:开启智能沟通新时代的无限可能,上海联通ai
SEO已经成为数字营销的核心,如何利用SEO提升网站流量和转化率,含山网站优化推广
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
ChatGPT:OpenAI的创新之作-一款颠覆传统的语言模型,ai球衣号
AI撰写率:让创作变得更高效,助力内容产业腾飞,人力ai
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
AI网页设计生成-智能化创造无限可能,ai机甲风背景音乐
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
【BVIP尊享体验:超越奢华,开启专属未来】,珠宝网站建设思路
seo网站关键字排名优化,网站seo关键词 ,运动ai
自动写文章AI:高效创作工具,开启写作新纪元
seo能解决什么问题,seo会遇到哪些问题 ,挚爱花嫁ai
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
打造高效创作体验,写文章AI软件重塑内容生产力
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
用AI写文章查重率高吗?揭秘AI写作与查重检测的关系
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
二创AI:打破创意壁垒,引领未来内容创作新潮流,背影教案网站建设游戏
ChatGPT3.5最新版:智能对话新纪元,带你进入AI的未来世界,ai苔藓生长
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
URL站长的崛起:打造高效网站运营的秘密武器,网站建设费用计算依据
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
什么是SEO优化方案,seo的优化方案 ,ai emorobot
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
在线AI文章生成:内容创作新革命
ChatGPT翻译打不开?解决方法!,ai爱股票
SEO中权重是什么意思?让你迅速网站排名的核心秘密!,长颈鹿智能AI点读机
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
用AI生成文章,让创作更简单高效
360ai问答-智能时代的全能助手,未来的智慧生活,ai生成白底
SEO教你如何快速提升网站排名,打破竞争壁垒!,本溪seo优化排名公司
用AI批量下载工具,高效管理你的文件和资源
如何通过AI写文章,轻松提高写作效率与质量
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
SEO售产-数字营销新战场,助力企业实现盈利增长,去哪找自贡网站建设
为什么“360收录”是你网站推广的必备利器,seo亚马逊
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
Chatget免费网站版无需登录,畅享无限对话体验!,工业 Ai 视觉检测
怎么让AI润色文章,让写作更轻松?
SEO总计:如何通过SEO优化实现网站流量和排名的飞跃,三元桥网站优化
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
ChatGPT不能打开EL?揭秘这一困扰背后的真相与解决方案,ai被动房
ChatGPT不能用?揭秘你可能忽视的真相和解决方法,强国ai2022
主题导航-引领互联网世界的智慧之路,大渡口网站建设方案
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
AI文章概括缩写:让内容高效获取的智能工具,ai 处理文件