随笔分类 - C#
摘要:Moq.AutoMock Continuous NuGet Status Moq.AutoMock 是一个基于 Moq 的自动模拟容器,用于简化单元测试中的模拟对象创建和依赖注入。它特别适用于那些已经使用依赖注入容器(IoC 容器)的项目,可以帮助你解耦单元测试中的构造函数参数变化。 Usage(用
阅读全文
摘要:Method 方法 有以下例子 using Moq; // Assumptions: public interface IFoo { Bar Bar { get; set; } string Name { get; set; } int Value { get; set; } bool DoSome
阅读全文
摘要:# xUnit  Official Website https://xunit.net/ Tutorials (Chines
阅读全文
摘要:属性 NUnit 3.x MSTest 15.x xUnit.net 2.x 评论 [Test] [TestMethod] [Fact] 标记测试方法。 [TestFixture] [TestClass] 不适用 xUnit.net 不需要测试类的属性;它在程序集中的所有公共(导出)类中查找所有测试
阅读全文
摘要:测试常用方法 // 准备 Mock IFoo 接口 var mock = new Mock<IFoo>(); // 配置准备模拟的方法,当调用接口中的 DoSomething 方法,并传递参数 "bing" 的时候,返回 true mock.Setup(foo => foo.DoSomething(
阅读全文
摘要:whole word 查询 where'$'+ts.TargetSegment+'$' LIKE '%[^a-z0-9]a[^a-z0-9]%' charindex 解释 CHARINDEX ( expression1 , expression2 [ , start_location ] ) Exp
阅读全文
摘要:注意事项: v1.1.1 ByIntegerKey方法不能使用了 比较的时候,只能比较一个属性。当前版本 整个对象不能比较 比较的是 IEnumerable https://github.com/kinetiq/Ether.ListCompare What's this? ListCompare i
阅读全文
摘要:Comparison 的使用 var comparer = new Comparison<Tmx2ESModel>((Tmx2ESModel x, Tmx2ESModel y) => { if (x.RequestGuid == targetGuid && y.RequestGuid == targ
阅读全文
摘要:15.2 思考异步编程 15.2.1 异步执行的基础 实际上, C#编译器会对所有await都构建一个后续操作。这个理念表述起来非常简单,显然是为了可读性和开发者的健康。 实际上基于任务的异步模式要稍有不同。它并不会将后续操作传递给异步操作,而是在异步操作开始时返回一个token,我们可以用这个to
阅读全文
摘要:文件与文件夹的完全复制,包扩子目录与子目录的文件 static void Main(string[] args) { string dir1 = @"E:\MyTest\2.NET\FileAndDirCopy\file1"; string dir2 = @"E:\MyTest\2.NET\File
阅读全文
摘要:ExpandoObject 由于ExpandObject的先天不足(无特征性): 1. ExpandObject不能用于太复杂的对象。 ExpandObject最好还是作为简单的数据容器,不要弄得过于复杂,甚至包含有函数处理。 2.ExpandObject的使用范围必须要短 范围短的意思是,产生和使
阅读全文
摘要:1.保留2位有效数字 decimal d = 0.0500m; d.ToString("0.##")就出来了 也可以这样 string.Format("{0:0.##}",d) .##表示最多保留2位有效数字,但是不包括0,就是说 如果上面d=0.5000,出来后也只是0.5 2.保留8位有效数字
阅读全文
摘要:1.泛型约束 约束要放到泛型方法或泛型类型声明的末尾,用where来引入。 1.1.引用类型约束 表示成 T:Class,确保为引用类型,例如: struct RefSample<T> where T : class 允许使用==和!=来比较引用(包括null)。 1.2.值类型约束 表示成 T:s
阅读全文
摘要:回顾Tuple 1.创建元组 默认支持1到7个元素,如果8个或更多,需要使用嵌套和Rest属性。Tuple类提供创造元组对象的静态方法。 构造函数创建: var testTuple6 = new Tuple<int, int, int, int, int, int>(1, 2, 3, 4, 5, 6
阅读全文
摘要:1.Thread 1.1 Thread生命周期 1.2 Thread本地存储 本地存储槽 Local Store Slot(本地存储槽):存储的信息只对该线程有用,这叫做线程本地化存储 //1.给所有线程分配一个(未命名)数据槽。 存放数据 var slot = Thread.AllocateDat
阅读全文
摘要:写了一个简单爬婴儿配方奶粉的小爬虫,使用HtmlAgilityPack HtmlAgilityPack:https://html agility pack.net/ 参考 "HtmlAgilityPack 详细简介和使用" 前端
阅读全文
摘要:```csharp public class Employee { public int Id { get; set; } public string FirstName { ge...
阅读全文
摘要:使用这个 TextFileEncodingDetector project csharp using System; using System.Text; using System.Text.RegularExpressions; using System.IO; namespace KlerksS
阅读全文
摘要:链接: https://pan.baidu.com/s/1tH6qQolpiLOhq8lFBVLdsQ 提取码: 9cc8 v1.1 链接: https://pan.baidu.com/s/1WUVDfnFf58bR lTaFlhIGQ 提取码: ussm
阅读全文