泛型集合常用方法,查找符合要求的第一个元素并返回 之前写了一篇文章介绍了在List中查找第一个元素并返回的文章: 【100个 Unity实用技能】| C#中List.Find 方法详解 查找符合要求的第一个元素并返回...2、list.FirstOrDefault(t => t == 666); 会遍历所有的记录然后再返回结果。...取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0),可以在IEnemerable上使用。...这种,与上述三种方法中属于异曲同工之妙,所以不再全部拿出举例。...所以结论就是: 在使用List情况下使用 Find,而在其他IEnemrable类型时使用 FirstOrDefault 最佳。 ----
数据源: ⑥ Any/All 函数 Any()函数判断判断是否至少存在一个符合元素符合条件;All()函数判断是否全部元素都符合条件;下面以Any()函数为例: /* SQL里的表达: 查找用户里是否存在年龄小于...true /* 输出结果 */ 这里Any()函数是只要存在至少一个符合全部条件的结果,即返回布尔值True,只有在一个都不符合条件的情况下才会返回False;与之相反,All()函数只有在全部数据都符合全部条件的情况下...⑦ Single/SingleOrDefault 函数 Single()判断是否只有一个元素符合条件,若成立则返回该元素,若不成立则抛出异常。...; 类似的还有First()、FirstOrDefault()、Last()、LastOrDefault(),这里给大家做了一个异常表格记录了各种情况的返回值: 函数 没有满足 一条满足 多条满足 list...本身为Null Single 异常 该元素 异常 异常 SingleOrDefault 默认值 该元素 异常 异常 First 异常 该元素 第一个元素 异常 FirstOrDefault 默认值 该元素
这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程序来说是可访问的。...这种技术展示了如何限制请求重定向(request redirections)的次数, 并且设置了一个超时限制。...C# HttpWebRequest提交数据方式学习之前我们先来看看什么是HttpWebRequest,它是 .net 基类库中的一个类,在命名空间 System.Net 下面,用来使用户通过HTTP协议和服务器交互...param> /// 返回:是否请求成功 public static bool HttpPost(string strUrl, Dictionary...(如果请求失败,返回异常消息) /// 返回:是否请求成功 public static bool HttpPostFile(string strUrl
aa@AAA@@0V1@A) 然C#对于静态私有字段的访问,如下即可,不需要全局设置其值。如果以C#的写法应用在C++上,这是一个坑,需要注意。不得不说在面向对象方面,C#的爽点还是满满的。...\n", substr); } getchar(); return 0; } 这里的strstr函数是对字符串进行判断,是否包含的意思。如果包含则返回包含的字符串。...++里面只要不是0或者NULL,if统统视为true。...返回了字符串,就视为true。...而字符串只能返回,所以当JIT Compile的pMD的m_pszDebugClassName是的时候就可以断下来了。
content = System.IO.File.ReadAllText(@"g:\test.txt"); } 上面代码中我们使用ReadAllText静态方法来读取指定文件的内容,但是该文件可能不存在,在这种情况下会引发异常...finally 在了解了try和catch之后,我们来学习finally,它在开发中经常使用但又经常被误解的代码块。finally块是一种确保无论是否引发异常,都会执行给定代码段的方式。...控制台将输出如下内容: NO1 发生异常 不管错与对,我都在 我们将test.txt文件创建到g盘根目录,再次运行代码,控制台将输出如下内容: NO1 NO2 不管错与对,我都在 从上面两种情况可以看出,在没有引发异常的情况下...但不管是否发生异常,finally都执行了代码。...如果没有任何值,则它将返回该类型的默认值。由于Person是引用类型,因此其返回值为null。然后我们调用name,这时就会依引发空引用异常。
在C#的语法中有一种比较特殊的写法,叫做Lambda表达式,这种表达式的写法在于你查询数据的时候直接是使用以下箭头的形式来表示查询语句的:=>。...(int firstIndex, string str) => str.IndexOf('Hello') > firstIndex 三、下面介绍List集合中的Lambda表达式的运用 在C...此种方法往往需要写多行语句,阅读性稍微差点,当然复杂的情况下编写也费时。博主遇到这种情况一般比较喜欢偷懒,很少会去直接写循环,而是直接使用Lambda表达式一条语句完成。...(5)其他较常用的Lambda表达式如下: var a = studentList.FirstOrDefault(t => t.StudentCode == "10012");//FirstOrDefault...返回第一个符合条件的数据,不存在的时候返回Null。
Count 不带谓词的Count只是返回文档对象在集合中数量。...FirstOrDefault 和First 不同之处在于,当集合为空时,不会抛出异常,而是返回null FirstOrDefault (含谓词) FirstOrDefault (含谓词)和First...(含谓词)用法一样,不同之处在于,集合为空时,返回null不会抛出异常 Last Last 从结果集中返回最后一个文档对象,和First相对,通常和排序操作一起使用: var result =...(含谓词)和 Last (含谓词)用法一样,不同之处在于前者在集合为空时返回null,不会抛出异常。...通常情况下,你将结合排序操作使用。
扩展方法性能更高,详见:C# Find vs FirstOrDefault - 林德熙。...这可让我震惊了,因为我从来都没有考虑过在如此微观尺度衡量它们的性能差异。...(this IEnumerable source, Func predicate) { if (source == null)...FirstOrDefault 我写了两段代码,然后在单元测试中测量它们的性能。方法我按不同顺序写了两遍,试图降低初始化影响和偶然事件的影响。...只有现象,却没有结论 ---- 参考资料 C# Find vs FirstOrDefault - 林德熙 c# - In .NET, which loop runs faster, ‘for’ or ‘
本文的目的是让你在一小时内掌握ScrapySharp和C#的基本用法,以及爬虫技术的基本原理和技巧。...C#语言简洁、强大、高效,拥有丰富的类库和工具,可以开发各种类型的应用程序,包括桌面应用、网站、移动应用、游戏等。C#还支持多线程编程,可以充分利用CPU的资源,提高程序的性能。...GetNewsUrls方法,用来从指定的新闻网站的首页上,获取所有新闻的链接,并返回一个字符串列表。GetNewsContent方法,用来从指定的新闻链接上,获取新闻的内容,并返回一个News对象。...= null && !...本文的目的是让你在一小时内掌握ScrapySharp和C#的基本用法,以及爬虫技术的基本原理和技巧。
setAjaxUrl函数在表单赋值加载前执行,可以实现用于更改上面的3个变量的值,或者作其他作用,建议命名为beforeFormLoad。...typeCode的值为页面名,比如“index.aspx”,提交给处理程序用于判断是哪个页面,以便返回对应的JSON数据。 后台处理逻辑 那么处理程序如何返回对应的JSON数据呢?...通过autoLoad参数,可以判断是否是加载赋值。注意FirstOrDefault函数,是获取第一条数据,然后通过ToJson方法(自己定义的扩展方法)转换为JSON数据。..., data.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToJson()); 18: } 相比使用各种.NET Ajax框架,我还是喜欢按上面这种模式...返回的JSON数据如下: ? 这一篇就写到这里吧。由于最近忙,又耽误了。。。
如果此运算符的左操作数不为null,则此运算符将返回左操作数,否则返回右操作数。 例如:a??b 当a为null时则返回b,a不为null时则返回a本身。 ...= null) { var first = points.FirstOrDefault(); if (first !...= null) firstX = first.X; } 正确倒是正确了,代码取变得难读多了。在C# 6.0中,引入了一个 ?....FirstOrDefault()?.X; 从这个例子中我们也可以看出它的基本用法:如果对象为NULL,则不进行后面的获取成员的运算,直接返回NULL 需要注意的是,由于"?."...[]是一样,都是不为null时取值,为null时返回null,都是NULL检查运算符
= null) 7 allMenuList.Remove(itemOfSaveAs); 8 9 var itemOfPrint = allMenuList.FirstOrDefault...= null) 11 allMenuList.Remove(itemOfPrint); 12 13 var itemOfCreateQRCode = allMenuList.FirstOrDefault...= null) 15 allMenuList.Remove(itemOfCreateQRCode); 16 17 var itemOfShare = allMenuList.FirstOrDefault...= null) 19 allMenuList.Remove(itemOfShare); 20 21 var itemOfSaveInspectElement = allMenuList.FirstOrDefault...= null) 23 allMenuList.Remove(itemOfSaveInspectElement); 24 } 测试效果如下图 现在只有【返回】、【前进】、【刷新】菜单项了
= null) { using var reader = new StreamReader(fileStream!)...= null) { using var reader = new StreamReader(fileStream!)...] = form, ["fileContent"] = fileContent.ToString() }; return result; } 示例 关于文件上传,在微软的官网中也有对应的文档...view=aspnetcore-7.0&WT.mc_id=DT-MVP-5005089 推荐阅读: 一份阅读量突破10万+的C#/.NET/.NET Core面试宝典(基础版) 【微信自动化】使用c#实现微信自动化...细聊C# AsyncLocal如何在异步间进行数据流转 从未来看C#!
1.1.6 返回 如果调用的是方法或者属性字段获取成员值,则会有返回值;如果调用的是 void 方法或者设置属性字段的值。则返回 null 。...1.1.8 根据是否公开 指定 BindingFlags.Public 以在搜索中包括公共成员。...指定 BindingFlags.FlattenHierarchy 以在层次结构中包含静态成员。...关于 DeclaredOnly ,可以参考《C#反射与特性(五):类型成员操作》中的 1.4 小节。..., null, new object[] { }); BindingFlags.Instance 表明返回的是一个实例,BindingFlags.CreateInstance 表明该操作是实例化类型。
免责声明:笔者主要是在C#上使用该技术,但是它至少有针对Python和PHP的包装器/副本,因此其一般原理在其他语言中也适用。 LINQ是什么?...本质上,它是Any()和x的组合,无非有一个更长的包装器而已,用于检测循环检查列表中元素是否满足必需的参数。如果是,则返回true。 所以说真的,LINQ只是披着华丽外衣的一串循环函数。...现在将其写作常规代码: image.png 可以将其写得简短一些(尽量写作内联if函数),但是这也表明了编写这样的函数是多么令人烦躁-尤其是在可能经常需要这些函数的情况下。...在五分钟之内,你就可以开始使用它了,这很神奇。它几乎可以用于任何集合,比如列表或数组。在最糟糕的情况下,须对IQueriable类型进行一些类型转换,此时,你所选择的IDE甚至可以有所帮助。...从队列中获取任务: task nextOpenTask = openTasks.FirstOrDefault(x => !x.inProgress && !
;All()函数判断是否全部元素都符合条件;下面以Any()函数为例:/* SQL里的表达: 查找用户里是否存在年龄小于30岁职业是医生的女性 */select count(*) from user where...true /* 输出结果 */这里Any()函数是只要存在至少一个符合全部条件的结果,即返回布尔值True,只有在一个都不符合条件的情况下才会返回False;与之相反,All()函数只有在全部数据都符合全部条件的情况下...7、Single/SingleOrDefault 函数Single()判断是否只有一个元素符合条件,若成立则返回该元素,若不成立则抛出异常。...;类似的还有First()、FirstOrDefault()、Last()、LastOrDefault(),这里给大家做了一个异常表格记录了各种情况的返回值:函数没有满足一条满足多条满足list本身为NullSingle...无论是在企业级应用还是在小型项目中,Linq都证明了自己的价值,是.NET生态中不可或缺的一部分。
= null) { } 这里的 Ole Object 在 ECMA 全称 Global Element for Embedded objects and Controls 元素 然后尝试读取 oleElement...的 Fallback 是否有图片 不是所有的 ole element 都有备用的图,需要看你的文档里面是否有 mc:fallback 元素,同时这个元素是 p:pic 图片元素 在Office的图片填充用的是...(); if (fallback == null) { return (false, null);...(); if (picture == null) { return (false, null);...OpenbXML SDK 可以方便拿到资源,通过 var part = slidePart.GetPartById(embed) 方法,此时返回的是 part 可以用 GetStream 返回压缩包里面的资源
所以,我在开发中会寻找是否支持配置类,如果使用配置类或者在ORM框架中设置映射关系,那么就可以保证数据层的纯净,也能实现对调用方隐藏实现。...EF Core的配置类我们在《C# 数据访问系列》中关于EF的文章中介绍过,这里就不做过多介绍了(没来得及看的小伙伴们不着急,后续会有一个简单版的介绍)。...不过,这里可以根据实际业务需要修改方法: Single 返回单个数据,如果数据大于1或者等于0,则抛出异常 SingleOrDefault 返回单个数据,如果结果集没有数据,则返回null,如果多于1,...则抛出异常 First 返回结果集的第一个元素,如果结果集没有数据,则抛出异常 FirstOrDefault 返回结果集的第一个元素,如果没有元素则返回null 实现查询方法: public List<...这里的处理利用了C# Expression的一个技术,这里就不做过多介绍了。后续在.net core高级篇中会有介绍。 4.
ASP.NET Core 中,可以在静态目录添加文件,直接访问就可以下载。但是这种方法可能不安全,也不够灵活。...我们可以在 Controller 控制器中 添加 一个 Action,通过此Action,即可访问服务器的任何文件。...---- 获取文件类型 C#获取文件类型可以参考 http://www.cnblogs.com/zzsdream/articles/5796763.html 关于文件类型对应得Context-Type...public FileResult DownSH(string DownM) //要下载文件码 { var path = _sqlContext.jexusSqls.FirstOrDefault...System.IO.File.Exists(path)) return null; var stream = System.IO.File.OpenRead(path); /
通过 SELECT 查询的结果被存储在一个结果表中(称为结果集)。...(); var list12 = context.UserRoles.Take(1); 可以使用 First() 或 FirstOrDefault() 返回查询结果中的第一条数据...EXISTS 和 NOT EXISTS SQL C# IN Contains EXISTS Any NOT EXISTS All EXISTS 判断子查询中是否有结果集返回,如果有即为 TRUE。...子查询中应当有 where 等条件 SELECT * FROM test EXISTS ({子查询}) EXISTS 并不关注 子查询中返回了什么、返回了多少结果集,它只判断有没有结果返回(查询返回的结果集...= "x")); NOT EXISTS 无结果集返回则为,没有返回则为 TRUE。 子查询中应当有 where 等条件判断。 Linq 的 拓展方法 All,表示每一个元素是否都符合条件。
领取专属 10元无门槛券
手把手带您无忧上云