c# 关于位运算的学习笔记-编程思维
一、理解什么是位运算 程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),简单来说位运算就是直接对在内存中的二进制数的每位进行运算操作。 二、学习前先了解一下有哪些运算,运算符都怎么使用的,如下图所示。 对于上面的运算符做个基础的认识,接下来我们详细看一下每个运算符到底该怎么使用呢? 三、在讲位运算之前先讲一下进制转换,方便下文讲解位运算。 2进制、8进制、16进制、32进
morethink program
一、理解什么是位运算 程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),简单来说位运算就是直接对在内存中的二进制数的每位进行运算操作。 二、学习前先了解一下有哪些运算,运算符都怎么使用的,如下图所示。 对于上面的运算符做个基础的认识,接下来我们详细看一下每个运算符到底该怎么使用呢? 三、在讲位运算之前先讲一下进制转换,方便下文讲解位运算。 2进制、8进制、16进制、32进
1.HashTable 哈希表(HashTable)表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key-value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key-value键值对均为object类型,所
一、为何说它是知识盲区呢 1、首先很多人应该都和我一样知道itemsSource,在 Windows 应用程序中很多控件都提供了 DataSource 属性,并将 DataSet 或 DataTable 的值直接赋给该属性,这样在控件中即可显示从数据库中查询出来的数据。常用的数据绑定控件有文本框(TextBox)、标签(Label)、列表框(ListBox)、组合框(ComboBox)、数据表格
HTTP Method 较为简单,我们常用的习惯如下: 一般查询我们都会使用 GET 方法, 创建新的记录使用 POST 方法 更新已有数据使用 PUT 方法 更新已有数据部分属性使用 PATCH 方法 删除已有数据使用 DELETE 方法 下面来详细介绍一下常用的 HTTP 状态码 1xx 1xx 状态码一般是一个请求的中间状态,一般是信息提示,请求协商 100 Continue,请求未结束,
说到线程,很多人会想到timer吧, 接下来我们就来学习一下 timer 吧,摇摇脑袋,清醒一下,接下来开始学习.... 一、基本概念 1、什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。一个进程至少有一个主线程。 2、什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),
一、同步调用 1、同步调用会按照代码顺序来执行2、同步调用会阻塞线程,如果是要调用一项繁重的工作(如大量IO操作),可能会让程序停顿很长时间,造成糟糕的用户体验,这时候异步调用就很有必要了。 举个栗子: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Remoting
一、泛型集合List<T>排序 经sort方法之后,采用了升序的方式进行排列的。 List<int> list = new List<int>() { 2, 4, 1, 3, 5, -2, 0, 10 }; Console.Write("排序前..."); foreach (var it
1、计算十六进制字符串的二进制补码校验和 1 string hexString = "0AAE0000463130004144430000"; 2 byte[] buf = SoapHexBinary.Parse(hexString).Value; 3 4 int chkSum = buf.Aggregate(0, (s
本篇内容主要讲一讲高低字节转换问题; 1、int16 高低位转换 1.1 Uint16转成byte数组,高位在前,低位在后 byte[] command = new byte[2]; double test1 = 5614; UInt16 result = (UInt16)(test1); comm
今天要记录分享的主角是AllowsTransparency属性 即 public bool AllowsTransparency { get; set; } 这个属性是表示 获取或设置一个值,该值指示窗口的工作区是否支持透明度。true表示窗口支持透明度;否则,false。默认是true。 当窗口的 Background 属性设置为透明色(例如使用透明)时,窗口将保持不透明。 这意味着看不到
最近因为工作需要,客户那边工程师使用的是JAVA语言开发的程序,我们这边平台中是用C#语言开发的,因为有些操作必须统一,所以我在网上查找解决方法,自己也实践过,在这里做个笔记吧,分享一下。 一、使用C#编写com组件 开发环境 :VS2017 1、新建工程:CalcTest(类库项目,根据自己喜好需要取工程名,框架我这里使用的是:.NET Framework 4 ,你可以根据自己的来选。 (
分享:创建复杂的类类型的对象时,可能需要对一些数据或者对象中需要使用的资源进行一些初始化操作,比如设置成员的默认值,打开数据库,打开文件,等等,而这些准备工作,就可以放在类的构造函数中进行。 与构造函数的功能相反的是析构函数,我们可以在析构函数里面进行一些释放和清理资源的操作。 一、定义 1、构造函数 :构造函数是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与n
一、什么是需求分析呢? 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。 通俗的讲,对用户的意图不断揭示和确认的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述。 下面举个栗子: 假如你是个软件工程
我们可以通过以下代码来验证 List<int> 为何是线程非安全的,执行以下代码,然后查看输出结果。 static void Main() { var toCount = 100; #region list线程非安全 var list = new List<int>(); // 并
这节我们主要介绍ASP.NET Core Identity认证,认证是决定用户是否能够成功登录应用程序的一个过程,用户通过提供自己的用户名和密码来证明他们自己是真实用户,当登录成功时, Identity 认证用户并且赋予访问ASP.NET Core 应用程序安全资源 1、ASP.NET Core Identity如何认证 我们创建ASP.NET Core Identity Authenticat
在开发asp.net core时,通常会在appsettings.json中配置信息,这些信息都是以一个json的格式存储,在程序中通过Options的方式来绑定实体类使用,如下面的APIConfig和实体类。 配置文件: { "Logging": { "LogLevel": { "Default": "Information", "Microsof
ASP.NET Core Identity提供给我们一组工具包和API,它能帮助我们应用程序创建授权和认证功能,也可以用它创建账户并使用用户名和密码进行登录,同时也提供了角色和角色管理功能。ASP.NET Core Identity使用SQL Server/第三方数据库存储用户名和密码,角色和配置数据 这系列中我们主要使用VS中自带的LocalDB作为演示,你也可以直接从官网上进行下载:http
这节我们主要介绍ASP.NET Core Identity认证,认证是决定用户是否能够成功登录应用程序的一个过程,用户通过提供自己的用户名和密码来证明他们自己是真实用户,当登录成功时, Identity 认证用户并且赋予访问ASP.NET Core 应用程序安全资源 1、ASP.NET Core Identity如何认证 我们创建ASP.NET Core Identity Authenticat
在开发asp.net core时,通常会在appsettings.json中配置信息,这些信息都是以一个json的格式存储,在程序中通过Options的方式来绑定实体类使用,如下面的APIConfig和实体类。 配置文件: { "Logging": { "LogLevel": { "Default": "Information", "Microsof
下面将介绍如何通过LiteDB将自己的程序进行加密,首先介绍一下LiteDB。 LiteDB LiteDB是一个轻量级的嵌入式数据库,它是用C#编写的,适用于.NET平台。它的设计目标是提供一个简单易用的数据库解决方案,可以在各种应用程序中使用。 LiteDB使用单个文件作为数据库存储,这个文件可以在磁盘上或内存中。它支持文档存储模型,类似于NoSQL数据库,每个文档都是一个JSON格式的对象。