C#
文章平均质量分 55
repeatedly
凤凰台上凤凰游 凤去台空江自流
展开
-
加深对于 MVC、MVP、MVVM 的概念理解
文章目录MVC对 MVC 的误解及缘由MVPMVVMMVCMVC - 维基百科,自由的百科全书MVC 是软件工程的一种软件架构模式,它不是具体的技术,而是一种代码分层的理念,主要体现了职责分离原则。M-Model 模型V-View 视图C-Controller 控制器对 MVC 的误解及缘由误解:页面视图 = View ,Entity 和 Dto = Model缘由:因为刚入坑程...原创 2020-01-17 15:31:03 · 211 阅读 · 0 评论 -
C# 7.1中default关键字的新用法
default 关键字有两类用法switch语句中指定默认标签默认值表达式switch 语句 int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; ...原创 2018-08-17 17:52:30 · 3157 阅读 · 0 评论 -
C# 隐式转换关键字 implicit
implicit 关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。引用摘自:implicit(C# 参考)仍以Student求和举例 class Student { /// <summary> /// 语文成绩 ...原创 2018-08-15 20:51:15 · 441 阅读 · 0 评论 -
C# 显式转换关键字 explicit
不同于隐式转换,显式转换运算符必须通过转换的方式来调用。 如果转换操作会导致异常或丢失信息,则应将其标记为 explicit。 这可阻止编译器静默调用可能产生意外后果的转换操作。 省略转换将导致编译时错误 CS0266。该引用摘自:explicit(C# 参考) 显示转换关键字explicit能向阅读代码的每个人清楚地指示您要转换类型。该引用摘自:使用转换运算符(C...原创 2018-08-15 20:10:35 · 443 阅读 · 0 评论 -
C# 转换关键字 operator
operator 使用 operator 关键字重载内置运算符,或在类或结构声明中提供用户定义的转换。假设场景,一个Student类,有语文和数学两科成绩,Chinese Math,加减两科成绩,不重载运算,代码如下。 class Student { /// <summary> /// 语文成绩 /// &...原创 2018-08-15 17:21:24 · 1004 阅读 · 0 评论 -
《C#并发编程经典实例》学习笔记-关于并发编程的几个误解
误解一:并发就是多线程 实际上多线程只是并发编程的一种形式,在C#中还有很多更实用、更方便的并发编程技术,包括异步编程、并行编程、TPL 数据流、响应式编程等。 误解二:只有大型服务器程序才需要考虑并发 服务器端的大型程序要响应大量客户端的数据请求,当然要充分考虑并发。但是桌面程序和手机、平板等移动端应用同样需要考虑并发编程,因为它们是直接面向最终用户的,而现在用户对使用体...原创 2018-07-29 22:11:23 · 307 阅读 · 0 评论 -
Serilog记录MongoDB日志报错:requires the binary sub type to be UuidLegacy, not UuidStandard
SerilogSerilog是.NET开源结构化日志类库 开源地址:https://github.com/serilog 官网:https://serilog.net/Serilog能做什么:记录代码中的BUG和错误更快的找到生产环境中的问题深入的了解系统运行表现重现Error出现的场景在自己的项目中使用Serilog并使用MongoDB记录日志,需要nuget...原创 2018-07-28 17:57:05 · 2846 阅读 · 0 评论 -
适用于WebApi的SQL注入过滤器
开发工具:Visual Studio 2017 C#版本:C#7.1最有效的防止SQL注入的方式是调用数据库时使用参数化查询。 但是如果是接手一个旧的WebApi项目,不想改繁多的数据库访问层的代码,应该如何做。我的解决方案是加一个过滤器。先写过滤方法,上代码using System;using System.Collections.Generic;using Syst...原创 2018-07-18 20:02:33 · 3016 阅读 · 1 评论 -
Could not load file or assembly 'System.ValueTuple'
项目目标框架:.Net Framework 4.6.2 报错:Could not load file or assembly ‘System.ValueTuple’ 在4.6.2项目中,想要使用C#7.0新特性ValueTuple,需要添加nuget引用System.ValueTuple。 项目一开始引用的是最早的版本4.3.0的System.ValueTuple,使用正常。 前几天更新成...原创 2018-07-17 15:34:22 · 4236 阅读 · 1 评论 -
Web.config中customErrors异常信息配置
开发工具:Visual Studio 2017 15.7.5 开发平台:Windows 10 新建WebApi项目,Web.config配置文件中,system.web下级节点中默认没有customErrors的配置,即customErrors默认是RemoteOnly <customErrors mode="RemoteOnly" /><customErrors def...原创 2018-07-11 14:28:17 · 3949 阅读 · 0 评论 -
[译]如何在.NET Core中使用System.Drawing?
你大概知道System.Drawing,它是一个执行图形相关任务的流行的API,同时它也不属于.NET Core的一部分。最初是把.NET Core作为云端框架设计的,它不包含非云端相关API。另一方面,.NET Core是跨平台框架,它不包含任何操作系统特定的API,例如Windows上的Active Directory活动目录 。再者,.NET Core也不包括类似,作为.NET framew...翻译 2018-06-09 10:35:09 · 14045 阅读 · 0 评论 -
使用.Net Core 2.1开发Captcha图片验证码服务
使用.Net Core 2.1开发Captcha验证码服务开发工具:Visual Studio 2017 15.7.3 开发平台:64位 Windows 10 目标框架:.NET Core 2.1 完成度:已实现 Github地址:https://github.com/PuzzledAlien/Captcha准备开发环境,新建项目安装SDK 打开下载页面 https://ww...原创 2018-06-08 17:20:53 · 4186 阅读 · 0 评论 -
Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer
Advanced Installer :Free for 30 days. All features. 下载地址:https://www.advancedinstaller.com/download.html 30天内免费 汉化版:http://www.jb51.net/softs/595612.html 选择Visual Studio应用,点击创建项目 可以输入应用名称和所在组...原创 2018-04-27 15:03:16 · 7402 阅读 · 6 评论 -
Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结
最近有对一个Windows应用程序少许维护和修改。修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下。Visual Studio版本:Visual Studio 2017Visual Studio 2017 打包插件新建项目->其他项目类型->Visual Studio Installer->Setup Project...原创 2018-04-23 16:40:08 · 39398 阅读 · 2 评论 -
为对象的属性指定名称——DataContract和DataMember,以及JsonProperty的简单应用
DataContract和DataMemberusing System.Runtime.Serialization;namespace Test{ [DataContract] public class LoginRequest { [DataMember(Name = "username")] public string Us...原创 2018-03-26 12:37:39 · 3290 阅读 · 0 评论 -
关于Newtonsoft.Json,LINQ to JSON的一个小demo
nuget获取Newtonsoft.Json github地址:Newtonsoft.Json public static void Test1() { /* 文本格式如下 代码实现目的: 1、VR 对象中是否包含ProjectId 2、取ProjectId下的值 ...原创 2018-03-15 17:03:14 · 1228 阅读 · 1 评论 -
WebApi HTTP Put 405 Method not allowed
遇到一些问题,总结一下原创 2017-09-19 17:21:22 · 1688 阅读 · 0 评论 -
.NET记录-获取外网IP以及判断该IP是属于网通还是电信
在工作时,需要获取服务器公网IP(外网IP),并且判断该IP地址是属于网通还是电信。花时间整理一下,自己实现的代码,已经后续遇到的问题。原创 2016-05-16 15:32:51 · 1366 阅读 · 0 评论 -
判断本机ip是电信还是网通
判断本机ip是电信还是网通原创 2016-02-19 13:27:00 · 1879 阅读 · 0 评论 -
NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
下载thrift:http://thrift.apache.org/download解压打开E:\C#\thrift0.9.3\thrift-0.9.3\lib\csharp\src,vs打开项目,生成thrift.dll项目引用thrift.dll根据thrift文件生成代码,可在thrift文件使用namespace指定命名空间。thrift命令:thrift -gen c原创 2016-01-15 16:15:25 · 9560 阅读 · 3 评论 -
ant 使用指南
一、概述ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。在实际软件开发中,有很多地方可以用到ant。 开发环境:System:WindowsJDK:1.6+IDE:eclipseant:1.9.1 Email:hoojo_@126.comBlog:http://blog.csdn.net转载 2015-11-10 15:53:26 · 606 阅读 · 0 评论 -
类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对
string result = "aaa?a=1&b=2&c=3&d=4";string[] array = result.Split('?');//string a = System.Web.HttpUtility.ParseQueryString(array[1]).Get("a");System.Collections.Specialized.NameValueCollection a原创 2015-11-10 15:31:42 · 1916 阅读 · 0 评论 -
C# 获取一定区间的随即数 0、1两个值除随机数以外的取值方法(0、1两个值被取值的概率相等)
获取随机数 举例:0-9 Random random = new Random(); int j = random.Next(0, 9);0、1两个值被取值的概率相等int a = Math.Abs(Guid.NewGuid().GetHashCode()) % 2; if (a == 0)原创 2015-11-10 15:11:54 · 1114 阅读 · 0 评论 -
C#实现Java的DigestUtils.sha256Hex
代码地址:DotNetCore_Practice/JavaToC#/DigestUtils at master · PuzzledAlien/DotNetCore_Practicepublic class Hex{ /// <summary> /// 字节数组转换为Hex字符串 /// </summary> /// <param n...原创 2019-09-18 19:49:26 · 2198 阅读 · 0 评论