随笔分类 - C#
摘要:方式一:从资源字典中引用样式 可以把样式定义在资源字典文件里,然后在多个窗口或控件中引用。 创建资源字典文件 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="
阅读全文
摘要:依赖属性 概念 依赖属性(Dependency Property)是WPF框架中的一种特殊属性机制,允许属性没有自己的字段,而是可以通过数据绑定(Binding)从其他对象或数据源获取值。这种机制使得属性值的获取和设置更加灵活,并且能够支持诸如数据绑定、样式设置、动画等多种高级功能。 特点 节省内存
阅读全文
摘要:Application的生命周期 启动类继承关系 App继承关系:App类→Application→DispatcherObject。 在WPF中,App类继承自Application类,Application类当中有四个虚方法,分别为OnStartup、OnActivated、OnDeactiva
阅读全文
摘要:配置文件 { "RedisConfig": { "IsEnabled": true, "ConnectionString": "localhost:6379,password=123456,defaultDatabase=1,ssl=false,writeBuffer=10240" } } 实体类
阅读全文
摘要:线程池创建线程 ThreadPool.QueueUserWorkItem(委托) 线程池收到请求,会从线程池中选择一个空闲线程来执行委托方法,如果线程池没有运行,就会创建一个线程池并启动第一个线程;如果线程池正在运行中,且有一个空闲线程来完成该任务,则把该作业传递给这个线程。 线程池使用注意事项 1
阅读全文
摘要:程序集 概念:是一个包含来程序的名称,版本号,自我描述,文件关联关系和文件位置等信息的一个集合。在.net框架中通过Assembly类来支持,该类位于System.Reflection下,物理位置位于:mscorlib.dll。 程序集可以看作是给一堆相关类打一个包,相当于java中的jar包。 表
阅读全文
摘要:作用 提供同步访问对象的机制,实现线程同步。 命名空间&程序集 命名空间:System.Threading程序集:System.Threading.dll 属性 LockContentionCount 获取尝试锁定监视器时出现争用的次数。 方法 Enter(Object) 在指定对象上获取排他锁。
阅读全文
摘要:死循环while方式(不推荐) Func<int, int, string> funE = TestE; IAsyncResult resultE_01 = funE.BeginInvoke(2, 2, null, null); while (!resultE_01.IsCompleted) { }
阅读全文
摘要:Func指向的方法必须有返回值。Action指向的方法必须无返回值。 static void TestA() { Console.WriteLine("无参无返回值方法"); Console.WriteLine("TestA线程,当前线程ID:" + Thread.CurrentThread.Man
阅读全文
摘要:C#中 using 关键字主要有以下几种方式。 1. 引入命名空间 例如:using System,几乎每个类中都会用到。 2.为引入的命名空间起别名 using + 别名 = 包括详细命名空间信息的具体的类型 using aClass = NameSpace1.MyClass; using bCl
阅读全文
摘要:定义 微软定义:如果你在语句中使用 yield 关键字,则意味着它在其中出现的方法、运算符或 get 访问器是迭代器。 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumerable 和 IEnumerator 模式时无需其他显式类(保留枚举状态的类,有关示例,请参阅 IEnum
阅读全文
摘要://方式一*(手动创建) Thread thread = new Thread(() => { Console.WriteLine("当前线程ID:" + Thread.CurrentThread.ManagedThreadId); }); thread.Start(); //方式二(Task.Ru
阅读全文