1.概要最近在迁移 GeneralUpdate.Tool的时候需要用到文件夹选择,在MAUI中可以使用FolderPicker进行选择。注意,和上篇文章的文件选择不一样。因为在.NET MAUI中目前还没有傻瓜式直接可用的FolderPicker供开发者使用所以需要自己动手做一些修改。完整示例代码:https://gitee.com/Juster-zhu/G ......
394
0
0
2023-01-09
1.Overview经常研究.NET源码库的小伙伴会经常看到一个关键字volatile,那它在开发当中的作用是什么呢?我们一起来看看官方文档里是怎么描述的,如下:“volatile 关键字指示一个字段可以由多个同时执行的线程修改。出于性能原因,编译器,运行时系统甚至硬件都可能重新排列对存储器位置的读取和写入。声明为 volatile 的字段将从某些类型的优化 ......
555
0
0
2023-01-09
以下文章来源于精致码农 ,作者liamwang现代应用程序广泛使用的是基于任务的异步编程模式(TAP),历史的 EAP 和 AMP 模式已经过时不推荐使用。今天继续总结一下 TAP 的异步操作,比如取消任务、报告进度、Task.Yield()、ConfigureAwait() 和并行操作等。虽然实际 TAP 编程中很少使用到任务的状态,但它是很多 TAP 操 ......
385
0
0
2023-01-09
以下文章来源于精致码农 ,作者liamwang昨天在『.NET 大牛之路』技术群和大家聊到了对象池的话题,今天展开详细讲讲这个知识点。池这个概念大家都很熟悉,比如我们经常听到数据库连接池和线程池。它是一种基于使用预先分配资源集合的性能优化思想。简单说,对象池就是对象的容器,旨在优化资源的使用,通过在一个容器中池化对象,并根据需要重复使用这些池化对象来满足性能 ......
386
0
0
2023-01-09
以下文章来源于CSharp编程大全 ,作者zls365Stream.Read 方法当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。语法:public abstract int Read(byte[] buffer, int offset, int count)参数:buffer: 字节数组。此方法返回时,该缓冲区包含指定的字符数组 ......
476
0
0
2023-01-09
一、概要本文主要讲解在c#中lock关键字的用法以及需要注意的坑。帮助大家避免使用不当造成的bug。作用:lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。在多线 ......
570
0
0
2023-01-09
分享实战中内存泄漏解决思路。Part1 初步分析原因Part2 查找内存泄漏的根本原因Part2.1 解决方案Part3 总结Part4 彩蛋一、概要大概在今年三月份的时候突然被紧急调到另外一个项目组解决线上内存泄漏问题。经过两周的玩命奋战终于解决了这个问题这里把心路历程及思路分享给大家。希望可以帮助到各位或现在正遇到这样事情的小伙伴提供一些思路。二、场景当 ......
364
0
0
2023-01-09
一、概要大家好,本次继续分享自己的学习经历。本文主要分享Task异步编程内容,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。二、详细内容1.同步异步同步操作会在返回调用者之前完成它的工作异步操作会在返回调用者之后去做它的工作异步的方法更为少见,会启用并发,因为他的工作会与调用者并行执行目前见到的大部分的异 ......
525
0
0
2023-01-09
一、概要大家好,本次继续分享自己的学习经历。本文主要分享异步编程中Task的使用,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。个人心得:Task是一个升级版本的Thread的类,它非常的灵活支持取消、阻塞等待、合并多个Task协同操作、编码高效易懂、异常传播、回调传递结果或调用方法等。本文相关文献查阅地 ......
451
0
0
2023-01-09
c#异步编程-线程近期会分享自己学习c#异步编程系列的文章,如果能帮助大家希望多多关注文章末尾的微信公众号和知乎三连。各位举手之劳是对我更新技术文章最大的支持。1.线程线程是一个可执行的路径,它可以独立于其他线程执行。每个线程都在操作系统的进程内执行,而操作系统进程提供了程序运行的独立环境。单线程应用,在进程的独立环境里只跑一个线程,所以该线程拥有独占权。多 ......
538
0
0
2023-01-09
作者:码云 Gitee链接:https://www.zhihu.com/question/27993498/answer/1014561869来源:知乎除了微软本家的还有啥好的项目推荐哇(⊙o⊙)?据说很多被迫使用 C# 的人最后都真香了?C# 确实有很多让人惊艳的地方,如果想要学习C#语言,多找几个开源项目进行实践,必能事半功倍。下面推荐几个 Gitee ......
433
0
0
2023-01-09
写在前面 Composite组合模式属于设计模式中比较热门的一个,相信大家对它一定不像对访问者模式那么陌生,毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新,我们还是从一个例子出发,起底一下这个模式吧。 一个简单例子 设想我们要建立一个公司的人事架构,在一个公司里,我们可以简单地分为两种员工,一种是经理(包括老板),另一种是基层员工,经理可以有下属,而普通 ......
438
0
0
2023-01-08
前言 Visitor模式在日常工作中出场比较少,如果统计大家不熟悉的模式,那么它榜上有名的可能性非常大。使用频率少,再加上很多文章提到Visitor模式都着重于它克服语言单分派的特点上面,而对何时应该使用这个模式及这个模式是怎么一点点演进出来的提之甚少,造成很多人对这个模式有种雾里看花的感觉,今天跟着老胡,我们一起来一点点揭开它的面纱吧。 模式演进 举个例 ......
413
0
0
2023-01-08
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。1你为什么要这样做?尽管我很喜欢 .NET 生态系统,但有些事情,JavaScript 生态系统做得更好。其中 ......
363
0
0
2023-01-07
01—死锁的原理线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,并且互相等待对方释放资源,导致这些线程都处于等待状态,无法继续执行。如果线程都不主动释放所占有的资源,将产生死锁。如果死锁发生在UI线程,则会导致界面停止响应。死锁的条件:1.互斥条件:线程对于所分配到的资源具有排它性,即一个资源只能被一个线程占用,直到被该线程释放2.请求和保持条件: ......
379
0
0
2023-01-07