随笔分类 - C#
摘要:await的作用: 1、await是一个标记,告诉编译器生成一个等待器来等待可等待类型实例的运行结果。 2、一个await对应一个等待器 ,任务的等待器类型是TaskAwaiter/TaskAwaiter<TResult>。 3、Await 就像一个一元运算符:它接受一个参数,一个可等待的"awai
阅读全文
摘要:原文连接:执行上下文与同步上下文 - .NET 并行编程 (microsoft.com) 执行上下文与同步上下文 斯蒂芬 6月15日, 2012 最近,我被问了几次关于 ExecutionContext 和 SynchronizationContext 的各种问题,例如它们之间的区别是什么,"流动"
阅读全文
摘要:对 C# 开发者来说,不可不理解清楚 Thread、ThreadPool 和 Task 这三个概念。这也是面试频率很高的话题,在 StackOverflow 可以找到有很多不错的回答,我总结整理了一下。 Thread Thread 是一个实际的操作系统级别的线程(OS 线程),有自己的栈和内核资源。
阅读全文
摘要:编程范式paradigm(philosophy) 其实所谓架构就是限制,限制源码放在哪里、限制依赖、限制通信的方式,但这些限制比较上层。编程范式是最基础的限制,它限制我们的控制流和数据流:结构化编程限制了控制权的直接转移,面向对象编程限制了控制权的间接转移,函数式编程限制了赋值,相信你看到这里一定一
阅读全文
摘要:AccessControl 命名空间 结构图 解说: DirectorySecurity=目录ACLFileSecurity=文件ACLFileSystemAuditRule=目录和文件中SACL中的ACEFileSystemAccessRule=目录和文件中DACL中的ACEGetAccessCo
阅读全文
摘要:案例1、主体(包含用户和组)和标识(用户名)的使用。 PrincipalPolicy枚举:主体类型 分为window主体、未认证的主体和未分配主体GenericPrincipal、GenericIdentity主体类:自定义普通的主体,该主体是认证的。WindowsPrincipal、Windows
阅读全文
摘要:目录 1.理解装箱 2.理解拆箱 3.生成的 IL 代码 4.实际应用 5.小结 1.理解装箱 简单地说,装箱就是将一个值类型的数据存储在一个引用类型的变量中。 假设你一个方法中创建了一个 int 类型的本地变量,你要将这个值类型表示为一个引用类型,那么就表示你对这个值进行了装箱操作,如下所示: s
阅读全文
摘要:转载地址 https://www.cnblogs.com/murongxiaopifu/p/4419040.html 0x00 前言: 匹夫在日常和别人交流的时候,常常会发现一旦讨论涉及到“类型”,话题的热度就会立马升温,因为很多似是而非、或者片面的概念常常被人们当做是全面和正确的答案。加之最近在园
阅读全文
摘要:测试环境vs2019+.net5.0 请看 :https://cloud.tencent.com/developer/article/1507934 本测试环境vs2022+.net6.0 +window 10 学习C#编程最常见的示例程序是在控制台应用程序中输出Hello World! //C#9
阅读全文
摘要:一、访问控制列表 权限的概念相信你已经不陌生了,那么如何设置一个文件的访问权限呢?编程可不可以实现动态的控制文件权限信息呢?答案是肯定的,.NET可以做到这些。 自由访问控制列表(Discretionary Access Control List,DACL)(有时缩写为ACL)是一种 Microso
阅读全文
摘要:原文链接:https://www.cnblogs.com/springsnow/tag/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/default.html?page=2 设计模式(00):基础 设计模式(02):创建型模式(过渡模式) 简单工厂模式(Simple Fa
阅读全文
摘要:目录: 一、虚方法的概念 二、虚方法的特点 三、虚方法的作用 四、虚方法的声明 五、虚方法的执行 六、虚拟类的规则 一、虚方法的概念 在C#中,虚方法就是可以被子类重写的方法,如果子类重写了虚方法,则在运行时将运行重写的逻辑;如果子类没有重写虚方法,则在运行时将运行父类的逻辑。虚函数在编译期间是不被
阅读全文
摘要:侦听器 :FileSystemWatcher FileSystemWatcher常用属性有: Filter :获取或设置用于确定目录中要监视哪些文件的过滤器字符串。Filter 属性设置为空字符串 ("") 或使用通配符(“*.*”)。若要监视特定的文件,请将 Filter 属性设置为该文件名。例如
阅读全文
摘要:代码实现 在C盘添加一个文件夹,并在文件夹内部,新建一个文本文件,如图所示: 该文件夹下,新建一个文本文件,如图所示: 为文件添加完全控制权限: /// <summary> /// 为文件添加users,everyone用户组的完全控制权限 /// </summary> /// <param nam
阅读全文
摘要:当你有一组应用程序接口(API)只允许用Writer或Reader作为输入,但你又想使用String,这时可以用StringWriter或StringReader。 假设有下面这样一个process方法,给这个方法传递一个Person对象并把处理结果写入到一个Writer对象: public voi
阅读全文
摘要:首先,认识字节(Byte),计算机中Byte意思为“字节”,8个二进制位构成1个"字节(Byte)",即1Byte=8bit,字节是计算机处理数据的基本单位。所谓的大字端(Big Endian)和小字端(Little Endian)就是在存储数据时遵循不同的字节排列顺序,即字节序(Byte Orde
阅读全文
摘要:类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个
阅读全文
摘要:StreamWaiter类和StreamReader类的用法 事实上, StreamReader为了性能的考虑, 在自己的内部内置并维护了一个byte buffer。 如果在声明StreamReader对象的时候没有指定这个buffer的尺寸, 那么它的默认大小是1k。 如果是文件流, 那么这个bu
阅读全文