随笔分类 - C#
摘要:Mutex 这个类其实就是为共享资源加锁,比如说A、B、C三个人都去ATM机上取钱,只要有一个人占着机器取钱,那么另外两个人就必须在那等着。只有占着机器的人取完钱之后,其他人才能去占用机器取钱。 Mutex这个类有两种等待方法,一种是死等WaitOne(),另一种是等一会WaitOne(1000)。
阅读全文
摘要:浅谈ConcurrentDictionary与Dictionary 在.NET4.0之前,如果我们需要在多线程环境下使用Dictionary类,除了自己实现线程同步来保证线程安全外,我们没有其他选择。很多开发人员肯定都实现过类似的线程安全方案,可能是通过创建全新的线程安全字典,或者仅是简单的用一个类
阅读全文
摘要:public class Person { public int Id { get; set; } public string Name { get; set; }} class Program{ static void Main(string[] args) { Person p = new Pe
阅读全文
摘要:c#中List的元素遍历(foreach)和去重复(distinct) var lst_rpeat = lst_all.GroupBy(x => new { x.a, x.b,x.c, x.d, x.e,x.f }).Where(x => x.Count() > 1).ToList(); lst_c
阅读全文
摘要:在这篇文章中,我们将深入研究.NET Core和ASP.NET Core MVC中的依赖注入,将介绍几乎所有可能的选项,依赖注入是ASP.Net Core的核心,我将分享在ASP.Net Core应用中使用依赖注入的一些经验和建议,并且将会讨论这些原则背后的动机是什么: (1)有效地设计服务及其依赖
阅读全文
摘要:假设我们现在正在使用三层架构开发一个项目,其中有一个用户模块,包含登录、注册等功能。现在已经写好了User实体类和UserDao数据访问层: public class User { private Integer id; private String username; private String
阅读全文
摘要:封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了。我一直认为学习OO的最好方法就是结合实践,封装、继承在实际工作中的应用随处可见,但多态呢?也许未必,可能不经意间用到也不会把它跟“多态”这个词对应起来。在此抛砖引玉,大家讨论
阅读全文
摘要:扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。 扩展方
阅读全文
摘要:1.索引器:C#中的类成员,使得对象可以像数组一样被引用,使程序看起来更直观。 一个简单的案例: 1 class TestIdx 2 { 3 public string this[int i] 4 { 5 get { 6 return names[i]; 7 } 8 set { 9 names[i]
阅读全文
摘要:前言 不知道大家对const和readonly这两个关键字的区别有什么了解,原来自己之前还真不清楚它们到底是怎么回事,那么如果你也不是很清楚的话,可以一起来探讨一下。在了解这两个关键字的时候我们先来了解一下静态常量和动态常量。 静态常量:是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化
阅读全文
摘要:1.初始化父类static成员 2.初始化子类static成员 3.初始化父类非static成员 4.初始化子类非static成员 5.调用父类构造器 6.调用子类构造器 //执行结果是 x=0,y=1 static void Main(string[] args) { //Console.Writ
阅读全文
摘要:C#中new的三种用法 在 C# 中,new 关键字可用作运算符、修饰符或约束。 1)new 运算符:用于创建对象和调用构造函数。 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。 3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型 public cl
阅读全文
摘要:https://www.cnblogs.com/liaofan/archive/2008/11/20/1337888.html https://blog.csdn.net/kuangben2000/article/details/105219688 非原创,转自 以上 最近开始学习无锁编程,和传统的
阅读全文