官方和老人言,asp.net core中尽量用异步,为什么呢?接下来是个小demo,看看同步异步的差别吧,或许通过这个demo,就明白官方和老人的良苦用心了。 1、创建一个sql server的表 CREATE TABLE [dbo].[Students]( [StuNo] [varchar](50) NOT NULL, [Name] [varchar](50) NULL, [C
官方和老人言,asp.net core中尽量用异步,为什么呢?接下来是个小demo,看看同步异步的差别吧,或许通过这个demo,就明白官方和老人的良苦用心了。 1、创建一个sql server的表 CREATE TABLE [dbo].[Students]( [StuNo] [varchar](50) NOT NULL, [Name] [varchar](50) NULL, [C
通过EntityEntry可以获取Entity状态 using Microsoft.EntityFrameworkCore.ChangeTracking; static async Task Main(string[] args) { using (MyDbContext ctx = new MyDbContext()) { var students = ctx.Students.Skip(10).Take(3).ToArray();
static public string FormatBytes(long bytes) { string[] magnitudes = new string[] { "GB", "MB", "KB", "Bytes" }; long max = (long)Math.Pow(1024, magnitudes.Length);
using System; namespace Lesson7_封装_静态成员 { class Test { //const是特殊的静态,可以直接用类名点出来使用 static float ui; public const float g = 9.8f; //静态成员变量,内存空间不会被释放,所以不用实例化,唯一性,全局性
前两篇博文中提到Development,QA,Staging,Production四个环境,也说明了源代码的分支和四个环境的对应关系,本篇博文聊一下,怎么把源码自动化发布到对应的环境中。 市面上主流的DevOpt工具都支持这些功能,github,gitlab,都有CICD功能,当然,如果源码服务器是自己搭建的,也可
前两篇博文中提到Development,QA,Staging,Production四个环境,也说明了源代码的分支和四个环境的对应关系,本篇博文聊一下,怎么把源码自动化发布到对应的环境中。 市面上主流的DevOpt工具都支持这些功能,github,gitlab,都有CICD功能,当然,如果源码服务器是自己搭建的,也可
场景: 这项目用到了插件化开发,不是我做的,趁着现在有空学习一下。插件就是dll,主程序可以调用dll中的方法,插件之前没有关系,耦合性低。同时便于扩展和移除。今天在家,就研究一下c#的插件开发。热插拔,就是可以在运行时进行插件的添加,删除,修改等,无需停止程序。 实现: 1.插件化
来自:CCNetCore社区,一个关注.Netcore领域的社区团队。 原型模式PrototypePattern 原型模式PrototypePattern 创建型设计模式 用于对象的创建,通常用于单例模式中。 由于单例模式的对象始终为1个,又要用到单例模式又想每次调用有不一样的结果,可以使用原型模式。 添加一个创建实例的方
在使用Task.Factory.StartNew或者Task.Factory.FromAsync方法创建任务时,一些重载方法允许提供TaskCreationOptions来向调度器提示任务的调度方案。这里简要介绍了AttachedToParent、DenyChildAttach、HideScheduler、LongRunning、PreferFairness五种选项的具体行为。 AttachedTo
C#中有很多集合类型,比如List<T>,Dictionary<TKey,TValue>,这些是我们常用的,但也有一些少众的场合使用的集合:特征类型的ReadOnly集合,Sort集合;封装特定算法类型的集合:Queue<T>(先进先出),Stack<T>(后进先出),LinkedList<T>(链表,每个元素承上启下);这些集合都是在特定的场合下
C#中有很多集合类型,比如List<T>,Dictionary<TKey,TValue>,这些是我们常用的,但也有一些少众的场合使用的集合:特征类型的ReadOnly集合,Sort集合;封装特定算法类型的集合:Queue<T>(先进先出),Stack<T>(后进先出),LinkedList<T>(链表,每个元素承上启下);这些集合都是在特定的场合下
参考:https://www.cnblogs.com/Kare/p/4601436.html https://www.cnblogs.com/sun-shadow/p/14478623.html 这个自己的 需要整合一下 1 class Program 2 { 3 public class NewClassw 4 { 5 public NewClassw() 6 { 7 } 8
介绍 接下来我将给大家重点介绍一下.Net 6 之后的一些新的变更,文章都是来自于外国大佬的文章,我这边进行一个翻译,并加上一些自己的理解和解释。 源作者链接:https://blog.okyrylchuk.dev/entity-framework-core-6-features-part-2 正文 没有依赖注入的 DbContext 池化 在 EF Core 6.
FileStream fs = new FileStream(@"..\HHH\123.csv", FileMode.Open, FileAccess.Read, FileShare.None); StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding(936)); string str = ""; wh
原贴地址:点击跳转 using System; using System.IO; class Program { static void Main(string[] args) { //获取当前运行程序的目录 string fileDir = Environment.CurrentDirectory; Console.WriteLine("当前程序目录:" + fileDir);
三板斧保证强制单例 1.构造函数私有化,避免重复构造 2.公开静态方法提供实例,这样外部才可以使用 3.静态变量共享,保证全局对象唯一 三板斧下来,就可以保证多次使用该对象,也一直是同一个实例! public class Singleton { private Singleton()//构造函数私有化
分析:由题意可知指的是11~16岁的才可以进入。 编写代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _1 { class Program { static void Main(string[] args)
特性是一种我们向程序的程序集增加元数据的语言结构。它是用于保存程序结构信息的某种特殊类型的类 将应用了特性的程序结构叫做目标 设计用来获取和使用元数据的程序(对象浏览器)叫做特性的消费者 #define IsShow using System; using System.Diagnostics; using System.Run
using System; using System.Collections.Generic; using System.Linq; namespace 认识LINQ { class Program { static void Main(string[] args) { int[] arry = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] arry2
目录前言从表象讲起Task 从何而来Task 常见用法Task 的分类按是否包含 Result 分,也就是是否是泛型 Task按得到 Task 的方式,可以分为对 Task 进行分解Task 在哪执行?线程池一个独立的后台线程中自定义的TaskScheduler里Task 可以封装任何类型的别的任务小结 前言 本系列会拆分为以下
// See https://aka.ms/new-console-template for more information //六红一白彩票模拟器 //.NET 6.0 框架 //功能描述 :输入7个数字(六红一白),系统随机产生7个数,对比之后给出是否中奖 // MakeRandom()部分代码粘贴于博客,部分修改根据评论 https://blog.csdn.net/li951527983/ar
Lambda表达式 Lambda表达式 (1)源起 .net的设计者发现在使用匿名方法时, 仍旧有一些多余的字母或单词的编码工作 比如delegate关键字 于是进一步简化了匿名方法的写法 (2)使用 List<int> arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7 }; arr.ForEach(new Action<
c#教程https://www.xin3721.com/eschool/CSharpxin3721/ 前一阵子使用C#编写SCXML状态机,需要解析EMCScript表达式,使用了Jint库(https://github.com/sebastienros/jint/),当时感觉与C#之间的数据转换不是很方便。这两天有时间又关注了一下,发现新的3.0版本有了很大改进,在这里介绍给
区别: 值类型和引用类型在内存上存储的地方不一样 在传递值类型和传递引用类型的时候,传递的方式不一样,值类型我们称之为值传递,引用类型称之为引用传递 值类型:int,double,bool,char,decimal,struct,enum 引用类型:string,自定义类 存储: 值类型的值是存储在内存的栈当中 引用类型