
c#
MaYang_
这个作者很懒,什么都没留下…
展开
-
c#程序调用C++编写的算法
参考博客:https://www.cnblogs.com/xuqp/p/11987707.html(找了个代写毕设的活,其中有一个需求是c#调用c++编写的协同过滤算法)1.非托管方式非托管方式,只能调用函数,并且函数在extern "C"的体里面https://www.cnblogs.com/cyf-besti/p/5325186.html2.托管方式https://www.cnbl...原创 2021-01-29 16:27:10 · 334 阅读 · 0 评论 -
IDS4(身份认证服务器)笔记
OAuth 2.0 和 OpenID Connect使用 Id4 是结合了 OAuth2.0 和 OpenID的。OpenID是Authentication n. 证明;鉴定;证实OAuth是Authorization n. 授权,认可;批准,委任前者是网站对用户进行认证,让网站知道“你是你所声称的URL的属主”后者其实并不包括认证,只不过“只有认证成功的人才能进行授权”,...原创 2020-03-12 23:34:50 · 2010 阅读 · 0 评论 -
AspectCore2.0集成到.net core3.1的一个坑
https://www.cnblogs.com/king-23100/p/11855462.html,这是一开始我参照的教程(aspectcore1.3.0版本加core3.0)但是发现按照他的写法引用不上core3.1,经过反复试验无法在配置中成功引用比上面demo的区别在于多引用了Aspectcore.Abstractions并且版本后换成了低一级的1,3。实测可用...原创 2020-03-11 13:18:50 · 975 阅读 · 0 评论 -
c#编程细节(八)下之redis
概述/// 缓存优化性能,降低负载/// 1 本地缓存空间有限,也无法共享 所以需要分布式缓存:memcached/redis/// 2 NoSQL:泛指非关系型数据库,web2.0 网站越来越复杂,流量越来越高 数据量越来越大,数据不再是严格的关系型的/// NoSQL不是严格的面向对象式,类型(key-value hashtable list set)更灵活,/// 而且通...原创 2020-02-29 18:33:45 · 220 阅读 · 0 评论 -
c#编程细节之EF(下)
//1 延迟加载 每次使用子表时再查询//2 放弃子表查询//3 Include一次性主从表//4 放弃子表查询,又去显示获取某个数据//主流选择会去导航,内置的方便;innor join也能完成using (JDDbContext context = new JDDbContext()) { context.Database.L...原创 2020-02-28 23:47:05 · 474 阅读 · 0 评论 -
c#编程细节(九)之EF(上)
作为初学者,最先接触的框架不是EF,而是servicestack.ormlite,现在开始学习一下EFEF现在分为ef6和ef core,先由ef6入手优秀的文章分享:https://www.cnblogs.com/wujingtao/p/5401113.html概述三种优先规则/// EntityFramework DBFirst/// EntityFramework codeF...原创 2020-02-28 20:22:19 · 577 阅读 · 0 评论 -
c#编程细节(八)上之缓存
缓存概述各级缓存,分别就是以下各节点浏览器缓存原理请求过第一次,就有部分数据缓存在硬盘或内存DNS&&反向代理其实原理和浏览器缓存也很相似,都是在请求头,响应头里面进行控制,不过这两个缓存都是面向一群用户的具体细节比较艰深晦涩,主要还是看服务器缓存和浏览器缓存吧服务器缓存...原创 2020-02-27 11:13:07 · 461 阅读 · 0 评论 -
c#编程细节之MVC5
本来去学aspnet core3,发现没有mvc5的知识看的很晕,主要的那些层次里具体的代码块的联系不知道所以首先记录下这些吧概述MVC: 广义的MVC–数据 视图 控制分开/// 狭义的MVC–Asp.Net的一个框架/// Models:数据实体,专门跟UI交互,View里查数据提供模板,而不是指和数据库映射的实体类/// Views:UI的,html...原创 2020-02-24 20:52:54 · 299 阅读 · 0 评论 -
c#编程细节(四)
爬虫简要概述/// /// 1 爬虫,爬虫攻防/// 2 下载html,log4net/// 3 xpath解析html,获取数据和深度抓取/// 4 惰性加载、Ajax加载数据、VUE数据绑定(O(∩_∩)0)/// 5 不一样的属性和ajax数据的获取/// 6 多线程抓取////// 爬虫:是一个自动提取网页的程序/// url开始–分析获取数据&找到...原创 2020-02-24 20:52:35 · 197 阅读 · 0 评论 -
c#编程细节(七)之 DDD
DDD,是一种系统分析设计的思想和方法论的组合说的更直白一些: 大型项目的分析设计方式+方法论需求人员-设计人员-开发人员,大家都能懂的语言,发现领域,设计成领域模型;然后再根据领域模型去驱动设计代码实现想一想以前的实际方式,一个博客项目,第一先想到会有什么数据,根据数据类型设计数据库,然后再往上逐步构建代码首先说一下分析设计方式我们首先要理解领域、拆分领域、细化领域,例如一个商城...原创 2020-02-24 20:51:00 · 1838 阅读 · 0 评论 -
c#编程细节之core(二)jwt&&swagger&&autofac&&automapper
swagger学习使用博客: https://www.cnblogs.com/laozhang-is-phi/p/9495624.html (优点是有配套视频和代码,缺点是jwt写的很乱)jwt使用: https://www.bootwiki.com/note/dotnet-core-3-jwt-api.html ( 结合来看就明了了)关于autofac,一开始没太搞清和微软内置...原创 2020-02-24 20:50:36 · 317 阅读 · 0 评论 -
c#编程细节(六)AOP
理论概述/// AOP:面向切面编程 编程思想/// OOP:一切皆对象,对象交互组成功能,功能叠加组成模块,模块叠加组成系统/// 类--砖头 系统--房子/// 类--细胞 系统--人/// 面向对象是非常适合做大型系统/// 应对需求变化扩展的时候,比较困难;/// 面向对象是静态的:任何需求的细微变化,都可...原创 2020-02-24 20:50:16 · 506 阅读 · 0 评论 -
c#编程细节之core(一)
c#6.0新语法回顾 #region 自动属性初始化(Auto-property initializers) public string Name { get; set; } = "summit"; public int Age { get; set; } = 22; public DateTime BirthDay { get; set; } =...原创 2020-02-21 15:16:55 · 1458 阅读 · 0 评论 -
c#编程细节(五)多线程与异步
/// 进程 线程 多线程 计算机概念/// 进程:一个程序运行时,占用的全部计算资源的总和/// 线程:程序执行流的最小单位;任何操作都是由线程完成的;/// 线程是依托于进程存在的,一个进程可以包含多个线程;/// 线程也可以有自己的计算资源/// 多线程:多个执行流同时运行/// 1 CPU太快了,分时间片--上下文切换(加载环境--计算--...原创 2020-02-12 12:43:52 · 391 阅读 · 0 评论 -
c#编程细节(四)加密
1:MD5 不可逆加密/// <summary> /// MD5加密,和动网上的16/32位MD5加密结果相同, /// 使用的UTF8编码 /// </summary> /// <param name="source">待加密字串</param> /// <pa...原创 2020-01-18 14:29:08 · 376 阅读 · 0 评论 -
c#编程细节(三)linq与表达式目录树
linq构建一个Linq,需要lambam表达式,匿名类,扩展方法lambam表达式NoReturnWithPara method = (x, y) => Console.WriteLine(“This is DoNothing6”);lambda表达式是个什么呢?//只是一个方法(作用)//实际上是一个类中类,里面的一个internal方法,然后被绑定到静态的委托类型字段在一...原创 2020-01-17 12:20:44 · 669 阅读 · 0 评论 -
c#中各种获取路径方法
// 获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory// 获取模块的完整路径,包含文件名System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。System.Environment.Curr...原创 2020-01-13 20:51:21 · 308 阅读 · 0 评论 -
c#编程细节(二)面向对象加深
面向对象加深理解 //**封装**:数据安全;内部修改保持稳定;提供重用性;分工合作,职责分明; //方便构建大型复杂的系统 //**继承**:去掉重复代码;可以实现多态 //侵入性很强的类关系 //**多态**:相同的变量 相同的操作,但是不同的实现 //方法的重载 接口&实现 抽象类&实现 继承虚方法&抽象方法的选择1,IExtend ...原创 2019-12-29 00:16:11 · 191 阅读 · 0 评论 -
c#编程细节(一)
1,public T Find(int id) where T : BaseModel ;/// where约束是为了正确的调用,才能int id其次也能从此看出继承的好处,一个BaseModel便可以涵盖所有model,代码更简洁2,prop.SetValue(t, reader[prop.Name] is DBNull ? null : reader[prop.Name]);DBNul...原创 2019-12-27 15:29:10 · 246 阅读 · 0 评论 -
c# 写Equals()方法时为什么要把GetHashCode()方法一块重写
原因:当我们把引用类型(string除外)做为Dictionary或HashTable的key时,有可能永远无法根据Key获得value的值,或者说两个类型的HashCode永远不会相等。就拿Dictionary来说,虽然我们存储的时候是键值对,但是CLR会先把key转成HashCode并且验证Equals后再做存储,根据key取值的时候也是把key转换成HashCode并且验证Equals后再取...原创 2019-10-26 20:59:08 · 501 阅读 · 0 评论 -
winform中的WebBrowser无法加载
打开win10的设置,原创 2019-10-20 10:17:33 · 1086 阅读 · 1 评论 -
winform读取项目文件内图片
把图片新建个文件夹,放入项目文件debug文件夹下,代码相对路径这样写Bitmap bmp2 = new Bitmap(@“LQY//myLQY.jpg”);原创 2019-10-17 21:55:19 · 1150 阅读 · 0 评论 -
c#结构,枚举,数组
结构值类型(存储在栈)不能派生结构可以有构造函数,但没有析构函数如果没有new,显式赋值之前不能使用数据成员的值,也不能调用构造可以使用partial(分部类),使用接口枚举值类型,默认底层为整数类型int,如果不赋值会有一个隐式的成员编号012…单一的成员类型,没有修饰符底层类型可以更改(enum 名 :底层类型)一些其他枚举方法位...原创 2019-07-15 17:14:29 · 187 阅读 · 0 评论 -
c#异常
C# 异常类型及对应异常类还有异常类的几个属性message(异常发生原因)stacktrace(异常发生在何处)innerexception(包含另一个异常的引用)helplink()source(异常起源所在程序集的名称)Catch无参(匹配任何类型的异常)把异常类名作为参数(匹配该类型的异常)类名后面再加个标识符(下面语句可以访问异常的信息)catch语句段排序规则...原创 2019-07-15 15:20:43 · 507 阅读 · 0 评论 -
c#命名空间和程序集的理解
这里有一个大体形象的介绍具体如下1.引用程序集Assembly的方法:项目->添加引用->.Net 在这里找到你要添加的程序集dll或者一个复杂点的.exe文件和.dll文件最直接的区别是,前者是一个可以直接执行的程序文件,后者是一个不完整的程序文件,供执行程序运行时调用。引用的程序集里面有和源程序集命名冲突的几个类,这是使用完全限定名(命名空间.类名)2.mscorlib...原创 2019-07-09 21:28:28 · 533 阅读 · 0 评论 -
c#表达式运算符和语句
一、表达式是运算符和操作数的字符串,可以担当操作数的结构有1.字面量2.常量3.变量4.方法调用5.元素访问器,如数组访问器或索引。6.其他表达式二、字面量字面量是源代码中书写的数字或字符串,用来表示一个明确类型的明确、固定的值。1.整数字面量整数字面量被书写为十进制数字序列,并且没有小数点,带有可选的后缀,用来指明整数的数字类型。整数字面量根据数字长度系统会匹配int或lo...原创 2019-07-09 16:21:59 · 395 阅读 · 0 评论 -
c#继承
继承,封装,多态,是面向对象的三大特性继承的关键字:new,this,basenew:掩盖基类成员base:基类访问派生类指定使用基类某一个构造函数(this是使用当前类的某一个构造函数)虚方法:virtual,override(和new的区别)internal:自己程序集可见(public是系统内可见)程序集和命名空间实际上没有什么关系。程序集是.NET中相关类型的物理组织形式,...原创 2019-07-09 14:44:20 · 145 阅读 · 0 评论 -
类与方法
类含有字段和方法访问修饰符:private,public,protected( 限制在本类和派生类),internal,protected internal、static:常量索引不能被声明为静态属性:` 作用:保护字段,对字段取值与赋值进行限定{private int Day = 7;public int day{ get { ret...原创 2019-07-08 17:30:24 · 141 阅读 · 0 评论 -
.net与c#框架概述 and 类型,存储,变量
.net组成编程工具执行环境CLR(公共语言运行库)基类库BCLC#标识符命名规范:类型与成员名(每个单词首字母大写)本地变量,方法参数(首单词大写)关键字格式字符串:替代标记{0}{1}。。。。(顺序使用,可替换)注释:单行,多行,文档注释ctrl+k+c加注释ctrl+k+u取消类型&成员成员:数据成员(字段)函数成员(方法是特殊的函数)类型:预定义类...原创 2019-07-08 15:48:12 · 191 阅读 · 0 评论 -
c#委托和事件
委托就是相同签名(参数)和返回值类型的有序方法列表delegate void 名(参数);名 委托变量 =new 名(添加的方法)–也可以不用new,直接方法组合委托多播委托(含有多个方法,连续调用)(带ref引用参数的委托,参数值会被列表里的方法的返回值改变)匿名方法初始化委托:委托类型 委托变量 =delegate() { PrintMessage();}匿名方法可以捕...原创 2019-07-18 14:38:00 · 163 阅读 · 0 评论 -
c#接口和转换
一.定义接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。通常用Interface关键字进行定义。接口内部只包含方法名,属性等,不含任何访问修饰符。二.myclass mm=new myclass();Iable if =(Iable) mm;ifc.printout(“interface”); 将类对象的引用转换为接口引用...原创 2019-07-18 22:28:20 · 1016 阅读 · 0 评论 -
C# Winform程序设计运行在高分屏下模糊解决办法
前段时间在开发一个坐标转换程序,开发环境是Windows10 64位专业版(V1803)和Visual Stuido 2015社区版,电脑屏幕是15.6英寸分辨率1920*1080,采用的是WinForm程序设计方法开发。在程序运行时遇到了这样一个问题,在Visual Studio设计的很清晰的菜单和界面,运行的时候菜单和控件上字体变得很模糊,界面大小也发生了变化。于是上网寻求解决办法,网友给出的...转载 2019-08-11 12:46:57 · 635 阅读 · 0 评论 -
c#读取记事本文件,中文输出乱码问题
当开始弄了半天没解决乱码输出问题,就换了上图这一种读取的方式,后来高人指教,确实是编码格式的问题,使用GB2312就会输出乱码,会发现保存文件时编码格式就是utf-8,因此把格式换成UTF-8就行...原创 2019-09-01 17:52:47 · 1076 阅读 · 0 评论 -
servicestack的基础学习之路
Servicestack的解决方案的结构:1.xxxx.Tests说明:单元测试使用2.xxxx.ServiceModel说明:Poco和Dto和响应的类的存放地址3.xxx.serviceinterface(服务层)说明:存放myservice类:服务层—负责接收请求返回响应,是业务逻辑层和Model 合耦的地方4.xxxx说明:存放全局变量的地方,一般不修改业务逻辑层就新建类...原创 2019-09-11 20:38:26 · 2154 阅读 · 0 评论 -
c#设计模式之单例模式和简单工厂
复习一下这两种设计模式单例模式什么是单例设计模式?单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。具体实现先明白静态非静态的区别静态成员:静态成员变量是和类相关联的,可以作为类中"共"有的变量(是一个共性的表现),他不依赖特定对象的存在,访问的时候通过类名加点操作符...原创 2019-10-26 21:00:56 · 893 阅读 · 0 评论 -
REST和RESTful
从事web开发工作有一小段时间,REST风格的接口,这样的词汇总是出现在耳边,然后又没有完全的理解,您是不是有和我相同的疑问呢?那我们一起来一探究竟吧!就是用URL定位资源,用HTTP描述操作。知乎大神Ivony有句话说的好:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。咱们不解释REST是哪几个单词的首字母,说了也不知道,翻译成中文就是表现层状态转移...原创 2019-09-12 09:04:00 · 160 阅读 · 0 评论 -
C#常用的字符串处理方法
1.Replace(替换字符):public string Replace(char oldChar,char newChar);在对象中寻找oldChar,如果寻找到,就用newChar将oldChar替换掉。如:string st = “abcdef”;string newstring = st.Replace(‘a’, ‘x’);Console.WriteLine(newstrin...转载 2019-09-12 09:10:59 · 298 阅读 · 0 评论 -
c#对文件和文件夹的基本操作
File类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;namespace 文件处理{class Program{static void Main(string[] ar...原创 2019-09-12 09:46:27 · 633 阅读 · 0 评论 -
c#反射的使用和理解
先了解一下程序集的概念https://www.cnblogs.com/kevinWu7/p/10163545.htmlnamespace 反射小demo{ class Program { static void Main(string[] args) { //利用对象获取 //首先加载程序集文件...原创 2019-09-15 16:58:47 · 403 阅读 · 0 评论 -
C#快速回顾(大一末)
想用一下午,通过看图解教程,进行一个完整的复习和查缺补漏,开始!.net与c#框架概述类型,存储,变量类方法继承表达式和运算符语句命名空间异常结构枚举数组委托事件接口转换泛型枚举器和迭代器...原创 2019-07-08 14:37:41 · 218 阅读 · 0 评论