摘要:
一、题目 描述 给定一个仅包含0和1的n*n二维矩阵,请计算二维矩阵的最大值。 计算规则如下 1、每行元素按下标顺序组成一个二进制数(下标越大约排在低位),二进制数的值就是该行的值,矩阵各行之和为矩阵的值 2、允许通过向左或向右整体循环移动每个元素来改变元素在行中的位置 比如:[1,0,1,1,1] 阅读全文
摘要:
自C#7.0以来,模式匹配就作为C#的一项重要的新特性在不断地演化,这个借鉴于其小弟F#的函数式编程的概念,使得C#的本领越来越多,C#9.0就对模式匹配这一功能做了进一步的增强。 为了更为深入和全面的了解模式匹配,在介绍C#9.0对模式匹配增强部分之前,我对模式匹配整体做一个回顾。 1 模式匹配介 阅读全文
摘要:
1 背景与动机 传统面向对象编程的核心思想是一个对象有着唯一标识,表现为对象引用,封装着随时可变的属性状态,如果你改变了一个属性的状态,这个对象还是原来那个对象,就是对象引用没有因为状态的改变而改变,也就是说该对象可以有很多种状态。C#从最初开始也是一直这样设计和工作的。但是一些时候,你可能非常需要 阅读全文
摘要:
1 背景与动机 通常,如果只想用C#在控制台上打印一行“Hello World!”,这可不是Console.WriteLine("Hello World!");一条语句就可以搞定的,还涉及到其他必要基础代码(如定义类和入口函数Main),例如下面: using System; class Progr 阅读全文
摘要:
1 背景动机 关于模块或者程序集初始化工作一直是C#的一个痛点,微软内部外部都有大量的报告反应很多客户一直被这个问题困扰,这还不算没有统计上的客户。那么解决这个问题,还有基于什么样的考虑呢? 在库加载的时候,能以最小的开销、无需用户显式调用任何接口,使客户做一些期望的和一次性的初始化。 当前静态构造 阅读全文
摘要:
1.介绍 我们知道,我们要使一个类型支持foreach循环,就需要这个类型满足下面条件之一: 该类型实例如果实现了下列接口中的其中之一: System.Collections.IEnumerable System.Collections.Generic.IEnumerable<T> System.C 阅读全文
摘要:
1、背景与动机 自C#1.0版本以来,我们要定义一个不可变数据类型的基本做法就是:先声明字段为readonly,再声明只包含get访问器的属性。例子如下: struct Point { public int X { get; } public int Y { get; } public Point( 阅读全文
摘要:
C#9.0在11月10日已经正式发布。在这里我将C#9.0的一共16个新特性进行了汇总。新特性虽多,但本次这个版本主要落脚点还是放在了数据的简洁性和不可变性表达上。 1. init关键字 1.1 只初始化属性设置器 — init关键字 对象初始化方式对于创建对象来说是一种非常灵活和可读的方式,特别对 阅读全文
摘要:
如果要支持Blazor WebAssembly的本地化,应该如何实现呢?下面,我们就按照本地化问题操作中所涉及的所有主要问题以提问的方式进行说明。 1.本地化的核心原理是什么? 答:就是显式地在Program.Main方法中设置 CultureInfo.DefaultThreadCurrentCul 阅读全文
摘要:
C++中,指向常量的指针和常量型指针很容易搞混和记错。为了记忆,今天特此记录下来,以便以后查看。 1. 指向常量的指针(point to const): (1)定义:通常是指向常量的指针,也就是指针指向的内容是个常量。 (2)格式:定义格式例如:const double * ptr 或者double 阅读全文
摘要:
自从微软发布了新的Chromium版本的Edge,受到了很多用户喜欢,虽然新Edge在速度,同步等方面出色,但是鉴于新Edge还是有一些功能不完善,例如pdf阅读方面就不如原有Edge好用,很多人就想着如何两者能够兼得。那么如何才能做到呢?请按下面步骤进行操作 1. 先打开网址 Microsoft 阅读全文
摘要:
在微软的Build 2020开发者大会中,微软就正在成形的C#9.0的一些主要特性进行了介绍和分享。 1.init属性访问器 对象初始化方式对于创建对象来说是一种非常灵活和可读的方式,特别是对树状嵌入型对象的创建来说。一个简单的例子如下: new Person { FirstName = "Scot 阅读全文
摘要:
在C#8.0中,针对接口引入了一项新特性,就是可以指定默认实现,方便对已有实现进行扩展,也对面向Android和Swift的Api进行互操作提供了可能性。下面我们来看看该特性的的概念、规则与示例代码。 一、什么是默认实现 顾名思义,默认实现就是接口中的成员可以进行实现,并作为该成员的一个默认实现 阅读全文
摘要:
昨天看新闻,说人教社开放了人教版中小学教材电子版的春季教材(下载地址:http://bp.pep.com.cn/jc/ ),就想着给儿子全下载下来以备后用。不过人工下载真是麻烦枯燥,为了省事,就写个爬虫。原本打算用python,回头想了下,好久没用C#了,就用C#写吧。 具体思路和实现步骤如下 1. 阅读全文
摘要:
三、事务的运行模式 通常,事务以3种模式运行,他们分别是: 1. 自动提交事务 每一条单独的SQL语句都在其执行完成后进行自动提交事务,即执行 SQL 语句后就会马上自动隐式执行 COMMIT 操作。如果出现错误,则进行事务回滚至之前状态。 SQL SERVER和MY SQL中都默认开启自动提交事务 阅读全文
摘要:
二、事务基本命令介绍 说明:命令中, | (垂直条) 分隔括号或大括号中的语法项。 只能使用其中一项。[ ](方括号) 可选语法项。 不要键入方括号。{}(大括号) 必选语法项。 不要键入大括号。 1. SQL SERVER 1) BEGIN { TRAN | TRANSACTION } [ { t 阅读全文
摘要:
一、基本概念 假设用户A要从他的账户里面给B转账1000元,那么就需要两步来实现,首先从A的账号减去1000元,再给B账号加1000元。这两个步骤中,任何一步都不能少或者出错,这两步要么都得到成功操作完成,要么什么都不做,中途出错也要回滚到转账开始之前的状态。这样的一个过程就是我们经常说的事务。根据 阅读全文
摘要:
一、自然语言处理的对象:文字(信息来源:图象、语音和文字)。 二、先修课程: 数学分析 概率论与数理统计 线向代数 解析几何 数据结构与算法基础 编程语言:C/C++、python 机器学习基础 三、自然语言概念 自然语言就是人类的语言,如英语、汉语等。 与计算机编程语言不同,自然语言沟通方式是:听 阅读全文
摘要:
在C#8.0中,结构(struct)引入了一项新特性,就是使其成员支持readonly(只读),这个特性用来限制被其修饰的成员不会改变结构的内部状态。这项特性,与C#7.2版本添加的readonly struct和ref readonly方法返回、及C#原本之前的只读字段声明修饰作用一起,共同组成了 阅读全文
摘要:
一、使用环境: Windows 10 1909 nginx 1.16.1 二、安装与配置: 1. 打开链接,http://nginx.org/en/download.html 下载稳定版本nginx 1.16.1 2. 拷贝下载好的压缩包nginx-1.16.1.zip到你想安装的目录,我这里用的是 阅读全文
摘要:
SELECT和SET在SQL SERVER中都可以用来对变量进行赋值,但其用法和效果在一些细节上有些不同。 1. 在对变量赋值方面,SET是ANSI标准的赋值方式,SELECT则不是。这也是SET方式被推荐使用的原因之一。 2. SELECT可以一次对多个变量进行赋值,而SET一次只能对一个变量赋值 阅读全文
摘要:
Spring框架自诞生到现在,历经多次革新,形成了多种不同的产品,分别应用于不同的项目中,为了帮助自己理解这些产品之间的关系,特此整理此图,以便自己记忆和复习。 阅读全文
摘要:
今天,在自己机器上装了oracle 12c,发现Oracle的服务Oracle RDBMS Kenel Executable (OracleServiceORCL)占用内存高达5G,本人电脑内存才16G。如此高的占用率,真让人心疼。于是就对Oracle的内存进行调整。具体办法如下: 1. 在cmd命 阅读全文
摘要:
23种GoF设计模式概述 在前面,我们对 GoF 的 23 种设计模式进行了分类,这里先对各个设计模式的功能进行简要介绍,以便有个大概了解。后面的章节再进行详细介绍。 创建型模式 关注于怎么创建对象的创建型模式,他们将对象的创建与使用相互分离,对象的使用者无需关心如何创建对象,只知道怎么使用就行,以 阅读全文
摘要:
之前,在Codeproject发表过一篇关于用现有表中数据创建Insert的Sql语句的存储过程,今天将其搬到这里来,注意本存储过程仅适用于SQL SERVER。 介绍 一些时候,你想导出一些现有表中记录的Sql脚本以便你可以插入这些数据到另一个数据库的相似表中。有很多方式可以做到,现在,我将跟大家 阅读全文
摘要:
GoF设计模式一共有23个。一般可以按目的和作用范围来进行划分,具体划分方法如下: 第一,这些模式按目的(即完成什么样任务)来划分为创建型、结构型和行为型这三种模式: 创建型:用来创建对象。单例、原型、抽象工厂、建造者、工厂方法这五个都属于这一分类。这种类别起到了将对象的创建与其使用进行分离解耦。 阅读全文
摘要:
今天,在Anaconda prompt启动python遇到了如下错误: UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaf in position 553: illegal multibyte sequence 看了看出错跟踪,查看了如下位置 阅读全文