自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 Task多线程和Async/Await异步编程

Task一般和Async/Await是密切结合使用的,也就是说多线程必定采用异步的方法,这样有利于程序的运行效率。关于Task的使用方法与异步如何与task结合都在如下的代码中体现using System;using System.Collections.Generic;using System.Threading;using System.Threading.Tasks;namespace HelloworldAdditional{ class Program {

2020-10-19 15:54:46 477

原创 什么是grpc?实例详解

grpc是干嘛的?grpc的定义网上都有非常官方的说明,这里从它的用法角度描述这个概念。有了 gRPC, 我们可以一次性的在一个 .proto 文件中定义服务并使用任何支持它的语言去实现客户端和服务器,反过来,它们可以在各种环境中,从Google的服务器到你自己的平板电脑—— gRPC 帮你解决了不同语言间通信的复杂性以及环境的不同。使用 protocol buffers 还能获得其他好处,包括高效的序列号,简单的 IDL 以及容易进行的接口更新。{来源:grpc官方文档}grpc实例用法.

2020-10-16 14:22:42 2350

原创 C#版本快速排序

public static void quicksort(int[] arr,int low,int high) { if (low < high) { int index = getIndex(arr, low, high); quicksort(arr, low, index - 1); quicksort(arr, index + 1,.

2020-10-16 10:21:11 371

原创 ASP.NeT Core中间件与路由体系

https://www.cnblogs.com/cgzl/p/12561571.html

2020-09-29 15:00:25 194

原创 Ngxs用法实例详解

ngxs是angular的一个状态管理框架,可以全局的管理应用程序的所有状态。使用的场景:当应用程序的各个组件需要共享某些数据时 当需要组件变得更加独立,更易于测试 当程序的状态改变来自各个页面的组件时 当多人共同协作一个大型项目时ngxs有四个概念:...

2020-09-21 16:38:30 2931

原创 SSMS使用sql server身份验证连接问题(error代码:233)

在与sql server 建立连接时,一般系统是选择windows验证登陆,但是我们在进行项目开发时需要使用用户名密码的方式进行数据库的连接,因此需要修改这个选项如果直接在登陆界面使用sql server登陆会报错233此时需要做如下配置点开安装的sql server 配置管理器,一般在开始菜单的MicroSoft Sql Server 2019文件夹下(笔者使用的是2019版本),找到这个配置管理器,如下图所示将右边两个协议改为已启用状态。下一步再先使用windows登陆验证进入S

2020-09-16 16:46:04 1628

原创 Input标签禁用与Css动态样式绑定

input标签存在一个disabled属性,可以用来禁用此标签,通常还可以对这个属性进行禁用后的样式修改<input [disabled]="boolean">//一般里面对应一个bool属性,表示是否禁用标签,而样式修改可以在css中自己设置//通常写法如下例所示input[disabled]{ color : red;}利用Class指令实现单个CSS类绑定Class指令只能绑定要给CSS类Class绑定格式[class.样式类名称]=“布尔类型”

2020-09-08 14:53:43 958

原创 C#的事件结合委托

事件是一种使对象或类能够提供通知的成员,比如对象O拥有一个事件E,其中想表达的思想就是:当事件E发生的时候,O可以有能力去通知别的对象。事件用于对象或类间的动作协调与信息传递(消息推送)事件多用在桌面、手机等开发的客户端编程,因为这些程序经常是用户通过事件来驱动的 java语言里没有事件这种成员,也没有委托这种数据类型,java 的“事件”是使用接口来实现的 MVC、MVP、MVVM等模式是事件模式更高级、更有效的玩法事件的五个组成部分:事件的拥有者 事件成员 事件的响应者 事件处理

2020-09-03 17:17:42 126

原创 C#的委托(Action、Func、delegate、predicate)

委托是什么?如何使用?委托是一种类,类是数据类型所以委托也是一种数据类型,它的声明方式与一般的类不同,主要是为了照顾可读性和C/C++,委托使用要慎之又慎C#有已经定义好的两种委托方式,一个是Action,一个是Func,Action是无返回值的,而Func是要求有返回值的,两者都通过泛型定义好了参数类型,上限为16个。详细用法如下代码所示。此外C#中还有自定义的委托,需要使用delegate关键字来定义需要注意声明委托的位置,因为委托也是一种类,所以声明位置应当是与命名空间下,与其他类同级

2020-08-27 15:33:40 595

原创 IIS中关于跨域访问问题:No ‘Access-Control-Allow-Origin

首先说明下什么是跨域问题:跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)http:

2020-08-24 10:40:45 2783

原创 SignalR详解(简易聊天室案例)

SignalR是什么?按照官方的说法,signal能够方便的为应用提供实时的服务器端和客户端双向通信功能,相当于服务器端能够观察到客户端的实时更新,并且将这个更新广播推送,这是一个很有用的功能。SignalR适用场景如下需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。 仪表板和监视应用。示例包括公司仪表板、即时销售更新或旅行警报。 协作应用。协作应用的示例包括白板应用和团队会议软件。 需要通知的应用。社交网络、电子邮件、聊天、游戏、旅行警报和...

2020-08-12 10:54:42 2349

原创 Angular中与后端的数据交互方式(get/post/jsonp)

1.Get请求数据//Angular5.x 以后 get、post 和和服务器交互使用的是 HttpClientModule 模块。1、在 app.module.ts 中引入 HttpClientModule 并注入import {HttpClientModule} from '@angular/common/http';imports: [BrowserModule,HttpClientModule]2、在用到的地方引入 HttpClient 并在构造函数声明import {Ht

2020-07-30 14:31:12 2699

原创 Angular子父组件之间的值传递详解

子组件获得父组件的数据从两个方向来详解这个操作,以父组件中有一个msg传入子组件中形成一个标题元素为例。对于子组件:1.需要引入Inputimport { Component, OnInit,Input } from '@angular/core';2.定义这个传入的msg@Input() message:any;3,关于显示问题,子组件和父组件都有对应的html文件,此时子组件的html应当是展示出这个数据<p>{{message}}</p>

2020-07-30 13:56:29 631

原创 ASP.NET Core与Angular的前后端集成开发(详解流程)

最开始学习Asp .Net Core的时候,在VS的创建项目中发现可以自己创建基于angular与ASP.Net结合的项目,相当于将前后端集成在一起了,所以稍微研究了下这个模板启动的过程和原理。首先我们在VS中找到这个启动的模板这样完成了第一步,创建好 我们这个集成的前后端项目。它的目录结构如下所示再转到Startup.cs文件,让我们看看它配置了一些什么中间件和服务。这里首先添加了一个mvc的中间件服务,随后添加单页面应用服务,并且配置了路由路径为“ClientApp/dis.

2020-07-30 10:31:02 3424

原创 [C#版剑指offer]数组中重复的数字

最简单的方法,对数组进行排序,随后遍历数组,遍历过程中出现前后相同的数字时即可判断找到重复数字。第二种则是创建hashset表记录这个数字,代码如下public static int getrepeatnumber(int[] array) { HashSet<int> set = new HashSet<int>(); int length = array.Length; if (le

2020-07-27 16:31:21 224

原创 [C#版剑指offer]字符串的排列

题意为给定一个字符串的数组,要求将其中所有元素的排列可能都列出来,如“abc”的排列情况为abc,acb,bac,bca,cab,cba。此题使用递归的方法解决。public static void ArrayArrangement(char[] array, int cur) { if (cur == array.Length - 1) Console.WriteLine(array); else {

2020-07-22 10:33:12 102

原创 [C#版剑指offer]把字符串变成整数

给定一个字符串,在不使用系统方法的前提下,使用自己的方法将这个字符串变成整数int型。如str=‘123’;转化为123需要考虑字符串是否为数字,首位的符号是正还是负,还有在转化时注意减去'0'如上所示,计算时向左移位乘10,但是需要在最后减去'0',这是因为在计算机中,数字的ASCII值在'0'~'9'之间差了48,而恰好'0'的ASCII值就是48,如果不减这个'0'的话,会发生如下情况第一次是res = 0*10+array[1];而array[1]是字符串'1',‘1’的ascii为

2020-07-20 17:48:44 159

原创 [c#版剑指offer]连续子数组的最大和

给定一个数组,求数组中的连续数组的最大和,例如给一个数组{ 1, -2, 3, 10, -4,7,2 },其中最大连续子数组为{3,10,-4,7,2},最大和为18;public static int getMaxarrayValue(int[] array) { int max = array[0]; int currentsum = 0; for(int i = 0; i < array.Length;

2020-07-17 10:33:48 202

原创 [C#版剑指offer]查找数组中出现次数超过总体一半的数字

题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:在C#中使用字典来创建映射,遍历整个数组,将遍历的信息记录在字典中。代码如下public static int MoreThanHalfOfArrays(int[] array) { Dictionary<int, int&gt

2020-07-16 11:54:49 179

原创 [C#版剑指offer]栈的弹入弹出

题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列5,4,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:借用一个额外的辅助栈public static Boolean IsPopOrder(int[] seqA,int[] seqB) { if .

2020-07-15 13:38:39 111

原创 [C#版剑指offer]包含min函数的栈

题意为需要定义一个新的栈类型的数据结构,然后在这个数据结构中可以有一个min函数,能够取出栈中的最小元素。可以定义两个栈来完成这个数据结构,一个栈为数据栈,另一个为辅助栈,用于记录最小值。具体代码如下class StackFindMinValue { Stack<int> dataStack = new Stack<int>(); Stack<int> minStack = new Stack<int>();

2020-07-14 10:00:14 111

原创 [C#版剑指offer]顺时针打印矩阵

给定一个矩阵,需要以顺时针的方向将矩阵遍历出来,如下图所示。public static ArrayList printMatrix(int[,] matrix) { int rows = matrix.GetLength(0); int columns = matrix.GetLength(1); ArrayList list = new ArrayList(); int start

2020-07-13 14:59:03 140

原创 [C#版剑指offer]合并两个有序链表

给定两个有序的链表,通过一个函数来使得两个链表合并之后仍然有序思路:创建两个node节点,一个节点作为头节点(prehead)代表最后要输出的节点,另外一个节点作为头节点指向的下一个节点,这个节点(newlistnode)作为合并两个链表的中介。当L1链表的当前节点值小于L2链表的当前节点值时,使得这个newlistnode的下一个指向为L1链表的当前节点,同时L1链表跳转至下一个节点。按照上述流程可以写如下迭代的代码。public class ListNode { p

2020-07-09 17:21:01 231

原创 Angular共享模块的使用方法

在Angular使用过程中,如果我们创建完主要的功能模块后,发现功能模块中其实会有很多功能一样的小组件,或者存在一些需要额外实现的功能组件,此时我们可以创建一个共享的模块,这个模块可以为整个工程提供引用服务import { NgModule } from '@angular/core';import { CommonModule } from '@angular/common';需要导入common模块来确定这是一个共享模块,并且所有共享的模块必须放在同一个目录下,演示目录结构如下所示.

2020-07-08 19:33:24 905

原创 [C#版剑指offer]链表中倒数第K个节点

对题目进行分析,可以知道想要找到链表的倒数第K个节点,则需要先遍历链表,得到链表的总节点长度,然后通过(节点长度-k-1)就能得出倒数第K个节点,但是这样需要遍历链表两次,如果要求遍历一次去找到这个节点,则需要构建两个指针。构建两个指针P1,P2,并且两个指针之间在开始位置间隔k-1个节点,这样保持这个间隔一直总体移动,直到P2到达链表尾部,此时P1所在的位置就是链表的倒数第K个节点。但是必须考察代码的鲁棒性。public static ListNode findKTotailNode(ListN

2020-07-06 13:51:55 120

原创 [C#剑指offer]调整数组使奇数位于偶数前面

题意:输入一个数组,要求使数组中的奇数部分排列在数组的前半段,偶数数组排列在数组的后半段解题思路为数组内创建前后两个指针left和right,出现四种情况时指针进行移动arr[left]为奇数,arr[right]为偶数时 left++;right--; arr[left]为奇数,arr[right]为奇数时 left++; arr[left]为偶数,arr[right]为偶数时 right--; arr[left]为偶数,arr[right]为奇数时 指针对应...

2020-07-02 10:59:39 147

原创 Angular命令(持续更新)

创建项目命令(默认创建在当前目录下):ng new [project]启动项目命令(需要在Angular项目目录下):ng serve --open创建component组件(默认安装在app目录下):ng g component [component name]创建路由模块:--flat把这个文件放进了src/app中,而不是单独的目录中。--module=app告诉 CLI 把它注册到AppModule的imports数组中。ng g module app...

2020-07-01 18:24:51 133

原创 [C#版剑指offer]数值的整数次方

求一个double类型数的exponent次方,题目很简单,输出一个循环即可解决,但是需要着重考虑各种情况,此题考察我们对于代码健壮性的判断,一个好的程序员应当考虑到代码能否在各种情况下都能够运行。public double power(double basenumber,int exponent) { // 当底数为0,指数为负数时,则抛出异常或者返回0.0 if (equal(basenumber, 0) && exp

2020-07-01 10:36:19 241

原创 [C#版剑指offer]寻找某数二进制表示下的1的个数

要求找到某个数的二进制表示下1的个数使用n&(n-1)的方法:n-1:二进制数字n最右边的1变成0,此1右边的0都变成1. n&(n-1):二进制数字n最右边的1变成0.其余不变public static int FindOne(int n) { int res = 0; while (n != 0) { res++; n

2020-06-30 09:20:38 140

原创 [C#版剑指offer]旋转数组的最小数字查询

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为旋转。输入一个递增的排序的数组的一个旋转,输出旋转数组的最小元素。例如数组array{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小元素为1.m等于i与j和的一半如图所示,设置这样三个下标,有三种情况1.当array[m]>array[j]时,i=m+12.当array[m]<array[j]时,j=m,此时i也等于了j,因此跳出循环,表明找到目标值3.当array[m]=array[...

2020-06-29 10:08:20 81

原创 [C#版剑指offer]从尾到头打印链表

给定一个链表,需要将链表中存的元素从尾到头打印出来,由链表的特性可以知道,元素都是从前向后链接的,因此需要通过另外手段实现从尾到头遍历,此时使用一个栈来完成这样一个操作,栈的特点是先进后出,这样往栈中存的元素出栈时就是从尾到头打印的了。 public class ListNode { public int val; public ListNode next; public ListNode(int val) {

2020-06-24 09:53:23 157

原创 [C#版剑指offer]替换空格

给定一个字符串,需要将其中的空格全部替换为%20使用从后向前遍历的方法,如图所示。public static string replacestr(string str) { //计算空格数量 if (str == null || str.Length == 0) return str; int count = 0; foreach(var item in str)

2020-06-23 10:50:10 152

原创 C#单元测试用例的使用方法

当我们写好一段代码后,我们不能一直在这段代码集中写实行的例子,需要自己构建单元测试用例,操作步骤如下:在解决方案中新建项目使用xunit这个工具来建立单元测试。这里写一段机器内部依靠电池供电量来运转的情况。using System;namespace UnitTestExample{ public class Program { static void Main(string[] args) { DeskFan

2020-06-22 14:04:32 1436

原创 C#入门介绍及其面向对象思想

C#语言简介C#是微软旗下写的一种类JAVA的编程语言(面向对象),它是专门为与Microsoft的.NET Framework 一起使用而设计的,它是一种基于现代面向对象设计方法的语言C#各类应用程序简介Windows Forms(Old):用于创建Windows桌面应用程序,Windows Forms窗体包含的只是封装了原生的Windows控件,所以是基于像素图形的。WPF(Windows Presentation Foundation):WPF与Windows Forms一样用

2020-06-22 14:02:10 370

原创 [C#版剑指offer]二维数组的查找

给定一个二维数组,二维数组的规则如下:从上到下,从左到右,二维数组的元素顺序都是从小到大。选用右上角查询的方法,可以知道如果查询目标比右上角的小,那么它必定在右上角的左边位置,如果比右上角的大,那么必定在右上角的下面位置。public static Boolean arrayquery(int[,] nums, int target ) { int rowlength = nums.GetLength(0); int collengt

2020-06-22 13:48:21 465

原创 SpringBoot一体式开发入门(从HelloWorld入门到详细原理解释)

为什么要使用SpringBoot?SpringBoot为开发解决了什么问题?SpringBoot 简化了Spring的应用开发,约定大于配置,去繁从简,只需要Run 就能创建一个独立的、产品级别的应用。J2EE开发十分笨重,且需要配置的东西很多,开发效率低下,部署流程复杂,第三方技术集成难度大。而SpringBoot可以完成J2EE的一站式解决方案。此外,SpringCloud即可完成分布...

2020-04-30 09:44:22 274

原创 一文详解如何调整毕业论文格式(从页眉页脚到目录页码)

每年临近毕业季,都会有大量论文上的格式问题,因此在这写下具体的格式打造方法和一些论文中的书写细节技巧。论文模板打造首先,得明确论文的主体是由不同层次的章节加上正文构成的,因此第一步需要确定每种章节的格式和正文的格式如上图所示,标题1下紧跟着3个子标题,每个标题都可以收起或打开,开关如下图红圈所示,并且在子标题下可以添加正文。调整标题和正文的格式可以在 样式选项上,选中某...

2020-02-17 09:33:57 1599

原创 一文详解Anaconda的python多版本虚拟环境配置

在进行深度学习神经网络搭建,或者机器学习调包时,往往很多package对于python版本环境有不同的需求。因此,现在如果一台电脑仅仅在本机环境下安装一个python 版本是远远不能够满足需求的,同时还会造成版本之间管理的混乱。Anaconda的虚拟环境配置完美解决了这个问题,它可以在电脑中保存多个虚拟环境,当进行不同的python任务且需要调用不一样的版本支持的package时,只...

2019-12-02 14:15:25 834

原创 输出数组内只出现奇数次的元素

给定一个数组,该数组内只有一个数只出现了奇数次,请找出这个数字(异或)由异或关系可知,x^x=0,x^0=x ,并且异或满足交换律,因此这个特殊数组内所有的偶数次元素与自己异或都会为0,最后出现次数为奇数次的元素和0异或当然是本身了,这样便输出这个元素了。代码如下public class Test { public static void main(String[] arg...

2019-10-20 15:31:12 543

原创 单例模式

单例模式的两个特点为1.构造函数私有,保证外部无法调用构造函数来实例化对象。2.内部有一个静态的方法来实现实例化对象。public class Singleton{ //利用一个静态变量来记录Singleton的唯一实例 private static Singleton uniqueInstance; private Singleton(){}//构造器定义为...

2019-10-20 15:03:51 135

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除