随笔分类 - .NET Standard
摘要:提问 C# 如何时间戳转时间 回答 string id = TimeZoneInfo.Local.Id; DateTime start = new DateTime(1970, 1, 1) + TimeZoneInfo.Local.GetUtcOffset(DateTime.Now); DateTi
阅读全文
摘要:提问 如何避免任务重复执行 回答 public readonly SemaphoreSlim semaphore = new(1); semaphore..Wait(); //do something ... //做完了 semaphore.Release(); 参考 https://learn.m
阅读全文
摘要:提问 如何获取枚举值 回答 //获取枚举值 var value=Convert.ToInt32(DeviceTypeEnum); //获取枚举的10进制 value.ToString("d"); //获取枚举的16进制 value.ToString("X"); 示例 public enum Devi
阅读全文
摘要:提问 如何EF Core模型设置主键自增 回答 Microsoft.AspNetCore.Identity.EntityFrameworkCore [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID {
阅读全文
摘要:提问 System.NotSupportedException: No data is available for encoding 936 回答 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 示例 中文编码解析 Enc
阅读全文
摘要:提问 集合类型如何使用 回答 长度不变使用数组; 集合涉及增删使用List; 作为参数使用IEnumable; 作为返回值参考第一第二条规则;
阅读全文
摘要:提问 数组能改变大小吗 回答 能 using System; public class SamplesArray { public static void Main() { // Create and initialize a new string array. String[] myArr = {
阅读全文
摘要:提问 如何获取枚举名称 回答 using System; public class GetNameTest { enum Colors { Red, Green, Blue, Yellow }; enum Styles { Plaid, Striped, Tartan, Corduroy }; pu
阅读全文
摘要:提问 如何优雅地类型转换和非空判断 回答 使用模式匹配 😥 BAD Bytes2ValueAttribute attr = (Bytes2ValueAttribute) Attribute.GetCustomAttribute(p, typeof(Bytes2ValueAttribute)); i
阅读全文
摘要:提问 快速上手Serilog步骤 回答 引用 Serilog.Sinks.Async Serilog.Sinks.File Serilog.Sinks.Console 2.配置 appsetting.sjon 加入如下项 "Serilog": { "MinimumLevel": { "Default
阅读全文
摘要:## 提问 如何顺利开始第一个xUnit,有哪些点需要注意 ## 回答 1. Mock的接口,假如是类则方法为Vitual; 2. Mock类注意构造函数的Mock,不要只Mock无参的; 3. WebAPI获取Action的值需要通过as转换as OkObjectResult; 4. 无关联的直接
阅读全文
摘要:## 提问 C#如何生成密钥 ## 回答 ``` Aes aes = Aes.Create(); SecurityKey = Convert.ToBase64String(aes.Key); ``` ## 参考 https://learn.microsoft.com/zh-cn/dotnet/sta
阅读全文
摘要:提问 属性与字段的区别 回答 公开属性使用字段代替; 私有成员使用私有字段; 属性可以有更精细化控制 参考
阅读全文
摘要:提问 C# 如何获取下个月 回答 int year=2022; int month=10; new DateTime(year, trace.Month, 1, 0, 0, 0, 0).AddMonths(1); 千万不要,因为在month=12时直接报错 int year=2022; int mo
阅读全文
摘要:提问 C# Channel有哪些技巧 回答 判断管道中是否还有任务 return _channel.Reader.Count > 0; 结合Channel.CreateUnbounded (无边界管道)可实现整体任务缓存,避免重复写入 慎用ChannelWriter.Complete 这会造成管道关
阅读全文
摘要:提问 线程中的终极异常处理处理 回答 为了异常阻塞主线程是不值得的 使用事件通知方式,这样不会阻塞主线程 捕捉AggregateException
阅读全文
摘要:提问 如何写列表example注释 回答 使用[] 示例 /// <summary> /// 集合 /// </summary> /// <example>["asdfasdfeadfadf"]</example> public List<string>? Orders{ get; set; }
阅读全文
摘要:提问 如何使用PLINQ 回答 在集合上应用AsParallel(); 假如顺序很重要则增加AsOrdered() 参考
阅读全文
摘要:提问 WebApi接口如何用户名非数字参数验证 回答 [RegularExpression(pattern: @"^\D*$", ErrorMessage = "numeric user names not supported")][FromHeader(Name = "user_name")] s
阅读全文
摘要:提问 Parallel 会阻塞调用者吗 回答 会 原因 虽然parallel也是基于线程池,但是他也会阻塞调用者
阅读全文

浙公网安备 33010602011771号