随笔分类 -  C#.Net

摘要:为了避免运行时编译cshtml造成的性能问题,ASP.NET Core MVC项目在发布的时候默认会把cshtml文件编译到dll中,但是有的项目希望能在运行时修改cshtml视图文件。网上有文章讲到过在csproj文件中添加 <MvcRazorCompileOnPublish>false</Mvc 阅读全文
posted @ 2022-07-06 11:06 一纸年华 阅读(127) 评论(0) 推荐(0) 编辑
摘要:IEnumerable 和 IEnumerator IEnumerator接口定义了以向前方式遍历集合的基本底层协议。 声明如下: public interface IEnumerator { bool MoveNext(); object Current { get; } void Reset() 阅读全文
posted @ 2022-06-29 20:57 一纸年华 阅读(783) 评论(0) 推荐(0) 编辑
摘要:C#的CLR(即 common language runtime,公共语言运行库)包含两种任务组合器:Task.WhenAny和Task.WhenAll。 我们先定义如下方法: async Task<int> Delay1() { await Task.Delay(1000); return 1; 阅读全文
posted @ 2022-06-28 21:56 一纸年华 阅读(2571) 评论(0) 推荐(3) 编辑
摘要:在C#8之前,可以使用yield return实现迭代器,也可以用await书写异步函数。但无法两者结合,实现一个可以等待的迭代器。C#8引入了异步流解决了这个问题。 异步流基于以下两个接口。 public interface IAsyncEnumerable<out T> { IAsyncEnum 阅读全文
posted @ 2022-06-28 21:55 一纸年华 阅读(386) 评论(0) 推荐(0) 编辑
摘要:要编写异步函数,可将返回类型void改为Task。这样方法本身就能进行异步调用,并且是可等待的。 async Task PrintAnswerToLife() { await Task.Delay (5000); int answer = 21 * 2; Console.WriteLine (ans 阅读全文
posted @ 2022-06-26 08:48 一纸年华 阅读(622) 评论(0) 推荐(0) 编辑
摘要:await关键字可以简便地附加延续。 static void Main(string[] args) { DisplayPrimesCount(); } static async void DisplayPrimesCount() { int result = await GetPrimesCoun 阅读全文
posted @ 2022-06-25 22:56 一纸年华 阅读(1607) 评论(0) 推荐(0) 编辑
摘要:应用程序对HTTP请求的处理过程进行划分,每个环节称为中间件,将各个中间件串联起来,就形成了HTTP管道。 执行中间件的顺序与它们添加到管道的顺序相同,先添加的中间件会先执行。 添加方法有三种: (1)委托:中间件专用委托类型为RequestDelegate,对应的方法结构就是带HttpContex 阅读全文
posted @ 2021-10-13 17:45 一纸年华 阅读(265) 评论(0) 推荐(0) 编辑
摘要:枚举出程序中已添加的服务 Asp.Net Core 项目中的“服务”,指的是用于扩展应用程序功能的一系列类型。 在程序初始化期间,会把需要的服务类型实例添加到ServiceCollection集合中,这些服务实例将通过依赖注入提供给其他代码使用。 下面遍历一下已添加的服务: public stati 阅读全文
posted @ 2021-10-13 14:33 一纸年华 阅读(567) 评论(0) 推荐(0) 编辑
摘要:Web主机配置 使用默认配置创建Web主机 静态类WebHost,公开了一系列简便方法,可使用默认配置参数创建Web主机。用的较多的是CreateDefaultBuilder方法,默认配置创建WebHostBuilder实例。 默认配置包括: (1)使用内置Kestrel服务器组件,能够使Web应用 阅读全文
posted @ 2021-10-13 10:33 一纸年华 阅读(503) 评论(0) 推荐(1) 编辑
摘要:问题:使用SqlSugar批量更新时报错“SqlSugar.SqlSugarException: You cannot have no primary key and no conditions”; 主键或条件不存在 Db.Updateable<User>(users).ExecuteCommand 阅读全文
posted @ 2021-09-30 11:36 一纸年华 阅读(4198) 评论(0) 推荐(0) 编辑
摘要:特性 自定义特性类 特性是一种比较特殊的类,作为代码对象附加部分用于向运行时提供一些补充信息。 主要有三个特征: 从Attribute类派生 名称一般以Attribute结尾 声明特性类时必须在类上加AttributeUsage,用于标注当前声明的类应用于哪些对象 [AttributeUsage(A 阅读全文
posted @ 2021-09-29 09:43 一纸年华 阅读(1683) 评论(0) 推荐(0) 编辑
摘要:阻止类被继承 有时候需要禁止某个类被继承,使其成为密封类。只需使用sealed关键字申明即可。 sealed class Pear { } // 错误,Pear 类无法被继承 //class WildPear : Pear //{ //} 阅读全文
posted @ 2021-09-29 09:35 一纸年华 阅读(363) 评论(0) 推荐(0) 编辑
摘要:Validation failed for one or more entities.See 'EntityValidationErrors' property for more details.验证异常消息是:The field AUDIT_CONTENT must be a string or 阅读全文
posted @ 2021-09-08 16:43 一纸年华 阅读(624) 评论(0) 推荐(0) 编辑
摘要:输出百分比 百分比的格式控制符为"P"或"p"将普通数值输出为百分比形式。在控制符后跟一个整数表示要保留的小数位。如:"P3"表示保留3位小数。 float val = 0.1785f; string a = $"{val:p}"; //17.85% string b = $"{val:p3}"; 阅读全文
posted @ 2021-09-07 17:00 一纸年华 阅读(1971) 评论(1) 推荐(0) 编辑
摘要:克隆对象 /// <summary> /// 对象Clone /// </summary> /// <typeparam name="T"></typeparam> /// <param name="t"></param> /// <returns></returns> public static 阅读全文
posted @ 2021-09-07 16:49 一纸年华 阅读(200) 评论(0) 推荐(0) 编辑
摘要:System.Globalization命名空间下提供了专门用于计算中国农历的ChineseLunisolarCalendar类,从EastAsianLunisolarCalendar派生而来。 阳历转农历 ChineseLunisolarCalendar cncld = new ChineseLu 阅读全文
posted @ 2021-09-07 16:33 一纸年华 阅读(1506) 评论(2) 推荐(1) 编辑
摘要:泛型参数的输入与输出 如果泛型参数不带任何修饰符,那么在分配对象时,类型参数只能是固定的类型。 // B从A派生 Class<A> x = new Class<A>(); Class<A> x = new Class<B>(); // 编译错误 这需要泛型的参数类型成为变体,需要in和out修饰符。 阅读全文
posted @ 2021-09-07 16:17 一纸年华 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Tuple类的使用 元组就是将一组松散的对象简单地组合在一起。 元组比数组灵活性略强,数组中元素类型是统一的,而元组使用的是泛型参数,每个元素类型相互独立。 元组不同于类和结构,类和结构是高度聚合的数据类型,其中要实现各种复杂的功能;元组还是一系列单一对象的简单组合,不存在复杂操作。 元组中将所有元 阅读全文
posted @ 2021-09-06 17:57 一纸年华 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:1 枚举 public enum EnumOperType { [Description("新增")] Add = 1, [Description("修改")] Edit, [Description("删除")] Del } 2 获取某个描述 public string GetEnumDescrip 阅读全文
posted @ 2021-09-03 14:46 一纸年华 阅读(595) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示