![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.net core
文章平均质量分 55
皮皮君
从事物联网行业十多年,室内定位专家,现作为技术专家进入汽车领域
展开
-
C# 一行实现byte[]数组转十六进制字符串
byte[] byteArray = new byte[]{0x9E,0xAB,0xE4,0xBD};string str = BitConverter.ToString(msgData, 0).Replace("-", string.Empty);原创 2020-12-10 15:02:28 · 907 阅读 · 1 评论 -
一行搞定List<T>中的成员数量统计
一行搞定List中的成员出现次数的数量统计经常遇到这么一类问题,我们要统计List<T>列表中不同值成员出现的次数。在C#本可以巧用Linq中的**GroupBy(…)**方法。下面我们给一个例子,只需一行代码即可搞定成员出现次数的数量统计: class MySample { public static void Main() { List<int> idList = new List<int>(原创 2020-10-23 17:17:34 · 3437 阅读 · 0 评论 -
C# Task的任务取消
Task任务取消取消任务使用CancellationToken这个令牌,这是个struct结构体。看一段代码:using System;using System.Collections.Generic;using System.Threading;using System.Threading.Tasks;public class Example{ public static void Main() { // Define the cancellation t原创 2020-07-26 19:54:55 · 3831 阅读 · 0 评论 -
vscode 的launch.json文件(二)——配置launch.json启动用于C#调试
launch.json这个launch.json启动文件用于在Visual Studio Code中配置调试器。Visual Studio Code生成launch.json启动几乎所有需要的信息。如果您的工作区只有一个可启动的项目,则 C# extension将提供自动生成此文件的功能。如果错过此提示,可以通过从VS Code命令选项板执行命令.NET:Generate Assets for Build and Debug来强制生成。生成的launch.json文件包含两个部分,一个用于配置启动lau原创 2020-06-07 10:56:07 · 31843 阅读 · 0 评论 -
vscode 的launch.json文件(一)
启动配置vscode创建的工程往往有一个叫launch.json的文件。这个文件位于.vscode文件夹下。我们有两种方法打开这个launch.json文件:找到.vscode文件夹,从中找到launch.json文件,打开它;选择左侧的Run工具栏,然后点击左上角Run/Debug下拉框右侧的齿轮状按钮。这个文件中的内容是针对调试(debug)和启动(run)的配置项。下面是一个例子:如上图,launch.json文件中"name"项就是显示在左上角Run和Debug下拉菜单中。也就是说原创 2020-06-06 22:17:52 · 135131 阅读 · 6 评论 -
C# 关于Licensing许可
现在我们给出一个最简单的许可代码(无许可文件)using System;using System.ComponentModel;using System.Diagnostics;namespace Hello{ public class Program { static void Main() { // use the licensed component MyClass. using(MyClas.原创 2020-05-20 15:29:35 · 4613 阅读 · 1 评论 -
ASP.NET Core各个类的源码
WebHostWebHost原创 2020-05-19 20:00:58 · 346 阅读 · 0 评论 -
ASP.Net Core WebHost类
WebHost类源码地址// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.using System;using System.IO;using System.Reflection;using Microsoft.Asp原创 2020-05-16 11:59:09 · 307 阅读 · 0 评论 -
C# 线程(三)——前台和后台线程
默认情况下,我们显式创建的线程是前台线程。 只要前台线程中的任何一个正在运行,它就可以使应用程序保持活动状态,而后台线程则不会。 一旦所有前台线程完成,应用程序结束,所有仍在运行的后台线程终止。您可以使用其IsBackground属性查询或更改线程的背景状态。 下面给一个例子:class PriorityTest{ static void Main (string[] args) { Thread worker = new Thread ( () => Console.ReadL原创 2020-05-10 21:39:39 · 906 阅读 · 0 评论 -
C# 线程(二)——匿名函数给线程Thread传递参数
这里主要讨论用Lambda表达式给Thread传递参数。我们除了用ParameterizedThreadStart委托传递参数,还可以用lambda表达式为Thread传递参数,如下例子所示:static void Main(){ Thread t = new Thread ( () => Print ("Hello from t!") ); t.Start();} static void Print (string message) { Console.WriteLine原创 2020-05-10 19:54:10 · 2439 阅读 · 0 评论 -
C# 线程(一)——概述
进程和线程 进程是一个执行程序。操作系统使用进程来分离正在执行的应用程序。线程是操作系统分配处理器时间的基本单元。每个线程都有一个调度优先级,并维护一组结构,当线程执行暂停时,系统使用这些结构保存线程上下文。线程上下文包括线程无缝恢复执行所需的所有信息,包括线程的一组CPU寄存器和堆栈。多个线程可以在进程的上下文中运行。进程的所有线程共享其虚拟地址空间。线程可以执行程序代码的任何部分,包括当前由另一个线程执行的部分。举个例子的话,QQ是一个进程,World是一个进程,浏览器也是一个进程,这三个进程原创 2020-05-10 11:45:09 · 229 阅读 · 0 评论 -
C# 线程(五)——线程原语WaitHandle抽象类
WaitHandle是抽象类。它用来封装操作系统的特定对象(也就是操作系统所提供的某个资源对象),程序中通过等待这个特定操作系统对象来独占式访问某个共享资源(一般是某个用户定义的对象资源)。它一般是用于多线程的环境下。public abstract class WaitHandle : MarshalByRefObject, IDisposable派生自WaitHandle的类包括:MutexEventWaitHandle , AutoResetEvent , ManualResetEvent原创 2020-05-09 22:35:54 · 267 阅读 · 0 评论 -
C#关于List的线程安全问题(二)
上一期,C#关于List的线程安全问题(一)我们给出了一个线程不安全的例子。这个例子给人的感觉就是总觉得哪里不对,命名插入5000个数据到List中,结果却并不是自己想要的。明明一共插入了1300个数据,结果也不是。这都是因为List默认线程不安全导致的,也就是当某一个线程正在往List中插入数据,结果由于其他线程也正在做插入动作,导致冲突,插入可能失败,并且插入的顺序是不可控的,除非...原创 2020-04-06 16:11:45 · 3909 阅读 · 0 评论 -
C# 不需要查手册接口代码自动化实现
C#有非常多的接口,如果每次想实现一个接口,都去翻看微软手册,那么耗时耗力,降低效率。实际上VS Code有一个非常人性化的方法,可以通过提示瞬间实现接口模板,仅仅需要鼠标点两下就可以。举个例子,你要实现IEnumerable这个接口,你输入了下面的代码:我们会发现在IEnumerable下方出现红色波浪线,提示这个地方有错。当然有错了,我们还未实现接口。这个时候,我们将鼠标移...原创 2020-04-05 21:49:35 · 365 阅读 · 0 评论 -
C#关于List的线程安全问题(一)
C# 关于List的线程安全问题首先,List这个集合类是不安全的。直接给例子,讲一下吧:using System;using System.Collections.Generic;using System.Threading;using System.Threading.Tasks;namespace vscode_test2{ class Program {...原创 2020-03-24 16:43:01 · 4292 阅读 · 0 评论 -
ASP.NET Core 的pipeline中间件
ASP.NET Core 的pipeline中间件...namespace Microsoft.AspNetCore.Builder{ ... /// <summary> /// Adds a middleware delegate to the application's request pipeline. ///...原创 2020-02-13 20:20:25 · 824 阅读 · 0 评论 -
C# 有了委托(delegate)为什么还需要事件(event)?
delegate void dowork(); // 委托申明class Baby{ public event dowork CryEvent; // 事件成员() public void Play() { System.Console.WriteLine("孩子在玩耍..."); Thread.Sleep(2000); ...原创 2020-02-14 22:53:14 · 2198 阅读 · 3 评论 -
C# 直接调用async Task方法而不出现waring
一般来说,直接调用一个async Task的异步方法会出现波浪线(提示在方法前面加await的warning)。class Program{ private static async Task doSomethingAsync() { await Task.Run(()=>{ // 做一些耗时的事情. });...原创 2020-02-14 21:34:21 · 1788 阅读 · 1 评论 -
c# Task.Wait()与awaiat Task异常处理区别
Task异常处理先看下面用await的例子与输出:using System;using System.Threading;using System.Threading.Tasks;class Program{ static async Task Main() { System.Console.WriteLine($"Main Task ID:{Thre...原创 2020-01-13 11:01:45 · 4493 阅读 · 2 评论 -
c#一段微软读取文件夹下所有文件大小的代码
c#一段微软读取文件夹下所有文件大小的代码下面这段代码用Task类,非常高效率简洁方式获取某文件夹内文件大小的代码:using System;using System.Collections.Generic;using System.IO;using System.Threading;using System.Threading.Tasks;public class Example...原创 2020-01-09 10:20:02 · 429 阅读 · 0 评论 -
C# 不用async异步方法
不用async异步方法C#并不是一定要用async方法才能实现异步。Thread实现异步第一种方式,可以用Thread类实现线程来执行异步任务,举例:using System;using System.Threading;namespace test{ class Program { static void Main(string[] args) ...原创 2020-01-07 19:51:05 · 937 阅读 · 0 评论 -
什么时候选择.NET Core或.NET Framework
使用.NET Core,当:需要跨平台 你的目标是微服务 你使用Docker容器 您需要高性能和可扩展的系统 每个应用程序都需要并行的.NET版本 使用.NET Framework,当:您的应用程序当前使用.NET框架(建议扩展而不是迁移) 你的应用程序使用第三方.NET库或.NET Core不可用的NuGet包 你的应用使用了.NET Core无法使用的.NE...原创 2019-12-23 09:10:51 · 423 阅读 · 0 评论 -
.net core版本
.Net Core版本分两个方面:.NET Core Runtime .NET Core SDK一般如果说".Net Core 2.1"大多数时候指的是.NET Core Runtime 2.1。.NET Core Runtime就是运行时环境。我们的代码经过.NET Core SDK开发并编译后,最后是运行在Runtime上面的,所以SDK和Runtime是两个东西,Runtime就类似...原创 2019-12-11 10:21:06 · 2318 阅读 · 1 评论 -
.net core c# 串口编程
在.net core环境下(.net code)使用System.IO.Ports.SerialPort会报错,这是由于System.IO.Ports版本不对。可以使用NuGet获取新版本:dotnet add package System.IO.Ports --version 4.6.0这样子,SerialPort就可以使用了。...原创 2019-10-14 21:52:57 · 3403 阅读 · 0 评论 -
.net core 配置WebSocket
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); ...原创 2019-03-11 15:19:59 · 1993 阅读 · 0 评论 -
如何用.net core创建C#程序
.NET Core Guide转载 2019-07-25 11:18:29 · 2554 阅读 · 0 评论 -
如何为.net code c#进行单元测试
Unit testing C# in .NET Core using dotnet test and xUnit转载 2019-07-25 13:26:58 · 392 阅读 · 0 评论 -
.net core CLI命令
.NET Core command-line interface (CLI) tools转载 2019-07-25 14:40:19 · 669 阅读 · 0 评论 -
.net core C#中的global.json文件
global.json overview可以使用下面的命令来查看本机安装了哪几个.net core sdkdotnet --list-sdks目前可以下载到的.net core sdk网址Download .NET Core转载 2019-07-25 14:49:34 · 5900 阅读 · 0 评论 -
.net core 目标框架
Target frameworks转载 2019-07-25 14:50:54 · 1292 阅读 · 0 评论 -
.net core 出现错误"确保已运行还原,且“netstandard2.0”已包含在项目的 TargetFrameworks 中"
如果出现类似如上的出错误,只要删除项目中的project.assets.json然后重新运行即可。原创 2019-07-25 15:13:27 · 3019 阅读 · 3 评论 -
Ubuntu制作dotnet 可自包含的镜像文件
Ubuntu制作dotnet 可自包含的镜像文件首先运行docker run -it ubuntu /bin/bash运行后,就生成一个容器,假设这个容器的id号为d45b....进入容器,容器内执行下面的命令(安装ICU的运行环境,否则直接运行自包含的dotnet程序会报错):apt-get update && apt-get install -y libic...原创 2019-09-18 16:02:56 · 216 阅读 · 0 评论 -
.net core Figgle
using System;namespace HelloWorld{ class Program { static void Main(string[] args) { Class1 c1= new Class1(); Console.WriteLine(Figgle.FiggleFonts.S...原创 2019-03-11 09:53:15 · 403 阅读 · 0 评论