会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
木狼
博客园
首页
新随笔
联系
管理
订阅
07 2020 档案
C# 数据结构和算法-数组队列
摘要:队列: 队列是一个有序列表,遵循先入先出原则,可以用数组或链表实现 使用场景 用于排队,按顺序执行 public static void Main(string[] args) { ArrayQueue<int> queue = new ArrayQueue<int>(1000); queue.Pu
阅读全文
posted @
2020-07-28 17:58
木狼
阅读(485)
评论(0)
推荐(0)
C# 自定义组元扩展类(Tuple)
摘要:组元Tuple没有构造函数,自定义一个有构造函数的组元TupleEx。 namespace TupleEx { public class TupleEx<T1> { /// <summary> /// 元素1 /// </summary> public T1 Item1 { get; set; }
阅读全文
posted @
2020-07-25 16:01
木狼
阅读(410)
评论(0)
推荐(0)
C# 使用Enumerable.Range 打印数字
摘要:static void Main(string[] args) { var list1 = Enumerable.Range(0, (int)Math.Pow(2, 22)).ToList(); var list2 = new List<int>(list1); list2.Add(1); Cons
阅读全文
posted @
2020-07-18 17:49
木狼
阅读(771)
评论(0)
推荐(0)
C#中的范围类型(Range Type)
摘要://语法糖Rangestatic void Main(string[] args) { var myArray = new string[] { "Item1", "Item2", "Item3", "Item4", "Item5" }; for(int i=1; i <= 3; i++) { Co
阅读全文
posted @
2020-07-18 17:40
木狼
阅读(2373)
评论(0)
推荐(0)
C# 编程中的堆栈(Stack)和队列(Queue)
摘要:一、什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。 是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。 二、什么是栈?(Stack) 栈是有顺序的,是
阅读全文
posted @
2020-07-18 16:57
木狼
阅读(1452)
评论(0)
推荐(0)
C# 委托(delegate、Action、Func、predicate)
摘要:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的特点: 委托类似于 C++ 函数指针,但它们是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方法。 方法不必与
阅读全文
posted @
2020-07-18 16:49
木狼
阅读(413)
评论(0)
推荐(0)
C# Task总结(Action,Func,委托)
摘要:Task的参数有两种,一种是Action,一种是Func。 使用Action public static void FFF(object a) { Console.WriteLine(a); } var s = Task<int>.Factory.StartNew(new Action<object
阅读全文
posted @
2020-07-18 16:40
木狼
阅读(2846)
评论(0)
推荐(0)
C# Task总结(异步操作+并行)
摘要:任务Task与线程Thread不可比。Task是为了利用多CPU多核的机制而将一个大任务不断分解成小任务,这些任务具体由哪一个线程或当前线程执行由OS来决定。如果你想自己控制由哪一个Thread执行,要么自己定议task的scheduling, 要么自己来创建Thread来执行代码。 1)task是
阅读全文
posted @
2020-07-18 16:35
木狼
阅读(3042)
评论(1)
推荐(0)
C# 匿名函数
摘要:匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。 C# 中委托的发展 C# 1.0 中,您通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C# 2.0 引入了匿名方法的概念,
阅读全文
posted @
2020-07-18 15:57
木狼
阅读(3326)
评论(0)
推荐(0)
C# 虚方法和抽象方法的区别
摘要:虚方法和抽象方法的区别: (1)抽象方法是只有方法名称,没有方法体,即没有方法的具体实现,子类必须重写父类抽象方法才能实现具体功能;虚函数有方法名称也也有方法体,但是子类可以覆盖,也可不覆盖。 (2)抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。 (3)抽象方法只能在抽象类中声明,虚
阅读全文
posted @
2020-07-18 15:33
木狼
阅读(1524)
评论(0)
推荐(1)
C# 接口和抽象类的区别?
摘要:一、接口 接口是指对协定进行定义的引用类型,其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。 1、接口存在的意义是为了实现多态; 2、接口中只能包含方法(属性、事件、索引); 3、接口的成员不能有任何实现
阅读全文
posted @
2020-07-18 15:29
木狼
阅读(987)
评论(0)
推荐(0)
自定义缓存类扩展类
摘要:using System; using System.Runtime.Caching; namespace MemoryCacheHelpSpace { public static class MemoryCacheHelp { private static Object m_objLocker =
阅读全文
posted @
2020-07-15 11:03
木狼
阅读(203)
评论(0)
推荐(0)
公告