![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 56
八哥~
学习新技术,先知其然,然后知其所以然
展开
-
SQLServer DateTime类型比较大小避坑篇
SQLServer DateTime字段类型对应的时间格式是 yyyy-MM-dd HH:mm:ss.fff ,3个f,精确到千分之三秒,示例 2014-12-03 17:06:15.433 。(9、0、1) 会引起进0调整;(5、6、7、8)引起7调整;(2、3、4)引起3调整。原创 2022-07-27 14:34:25 · 2986 阅读 · 0 评论 -
Winform DataGridView数据绑定,数据读取
datagridview1.datasource可以绑定datatable ,List<T>.不能绑定 \T类型。转为List<T>如果之前有数据绑定,如下的方法可转datagridview1.datasource as List<T>原创 2022-01-14 10:37:26 · 6962 阅读 · 0 评论 -
Process.Start传参数的时候注意事项
每个参数本身一定不能存在空格(假如参数是一个路径,那么路径不要包括空格)。因为Process.Start的参数就是通过空格来拆分的,切记切记。原创 2021-11-30 17:59:33 · 634 阅读 · 0 评论 -
C# override和new的区别
加不加new其实效果一样。加就是为了语意明确。原创 2021-11-30 10:34:49 · 2164 阅读 · 0 评论 -
IIS 发布的时候 未能找到CodeDom提供程序类型“Microsoft CodeDom Provides.DoNetCompilerPlatform.CSharpCodeProvider“
网址发布文件路径不对了。检查下bin文件夹里面是不是程序的DLL,而不是如下图:bin文件夹里面又有个bin文件夹。原创 2021-11-29 09:57:06 · 1101 阅读 · 0 评论 -
C# 接口和类的默认访问修饰符
接口接口默认访问符是internal。接口的成员默认访问修饰符是public,不需要给接口的方法加修饰符。加了反而报错。C#接口可以包含方法、属性、事件和索引器。interface IMyExample { string this[int index] { get ; set ; } event EventHandler Even ; void Find(int value) ; string Point { get ; set ; } }原创 2021-09-13 16:46:18 · 2914 阅读 · 0 评论 -
C# 回调函数的实现和应用场景
回调函数的目的?这还要说,当然肯定会完成某项功能了啊。(汗)回调函数的实现?上文也提到了,被回调的函数其实是作为参数传递给要执行的函数的。那如何才能将函数作为参数呢?当然是使用委托了,委托的知识这里就不讲解了。这样的话我们就很好理解了,那我们就开始实现起来。首先定义一个委托:delegate void DelegateDone(); //定义一个无返回值的委托再定义一个实现函数,将委托作为参数传递进来:void DoWork(DelegateDone callBack){ callBack()原创 2021-09-07 18:59:22 · 8394 阅读 · 11 评论 -
EF 多个字段关联条件和左连接
左连接写法 var query = from f in queryMCFaultResult join e in queryMesFault on f.FaultCode equals e.b.FaultCode join mesRepair in joinMesRepair原创 2021-09-07 15:14:09 · 1082 阅读 · 0 评论 -
C# Return用法?
return语句退出当前方法体,并将控制权返回给调用方法.另外,它还可以返回一个可选值。如果方法为void类型,则可以省略return语句。原创 2021-08-28 14:45:01 · 2997 阅读 · 0 评论 -
可为空的对象必须具有一个值
原因是 某个可空对象为空值,并且需要这个值 执行某个操作, 所以报这个 错. 排错方法: 添加值 或者去掉需要执行的操作原创 2021-08-25 16:42:14 · 1458 阅读 · 0 评论 -
c#枚举使用详解
为什么要引入枚举类一个小案例你写了一个小程序,不过好久不用了,突然有一天,你想使用一下它。程序要想正确运行,需要将今天星期几存到数据库里。这个时候,你开始犯难了。当初的你还很年轻,不懂程序界的险恶,设计这个程序的时候,傻不拉几把这个字段设计为int类型的,用0代表周日,1代表周一。。。6代表周六,添加的时候就setWeekday(0)。但是这么长时间没用了,你忘记自己是从周一开始计算还是周日开始计算了,换句话说,你想不起来0代表的是周一还是周日了!于是你各种翻代码,看数据库的字段,数据库保存的信息,转载 2021-08-16 17:56:56 · 293 阅读 · 0 评论 -
C# 中const和readonly的区别
(1) const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以延迟到构造函数初始化(2) const修饰的常量在编译期间就被解析,即常量值被替换成初始化的值;readonly修饰的常量则延迟到运行的时候此外const常量既可以声明在类中也可以在函数体内,但是static readonly常量只能声明在类中。(3) const默认就是静态的,而readonly如果设置成静态的就必须显示声明。(4) const修饰的值的类型也有限制,它只能为下列类型之一(或能够转换为下列类型):s原创 2021-08-12 14:18:01 · 2550 阅读 · 0 评论 -
C# 定时器 Timer.Interval 属性最大值为Int32.MaxValue
public double Interval { get; set; }属性值DoubleElapsed 事件之间经过的时间(以毫秒为单位)。 该值必须大于零并小于或等于 MaxValue。 默认值为 100 毫秒。表示 Int32 的最大可能值。 此字段为常数。public const int MaxValue = 2147483647;...原创 2021-08-10 09:51:14 · 1689 阅读 · 0 评论 -
深入浅出JSONP
同源策略为什么会出这样的错误呢?这是因为所有支持Javascript的浏览器都会使用同源策略这个安全策略。看看百度的解释:同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当一个百度浏览器执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。这就是引起为何取不到数据的原因了,那如何才能解决跨域的问题呢转载 2021-08-08 17:31:40 · 110 阅读 · 0 评论 -
C# 到点执行,每天一次
看了这篇文章https://blog.csdn.net/zhouyingge1104/article/details/94211503//设定定时执行setTaskAtFixedTime(); private void setTaskAtFixedTime(){ DateTime now = DateTime.Now; DateTime oneOClock = DateTime.Today.AddHours(1.0); //凌晨1:00 if (now &g原创 2021-07-31 17:59:57 · 3147 阅读 · 0 评论 -
C# DateTime类型与数据库的DateTime类型解惑篇
C# DateTime类型保存到SQLServer数据库也会四舍五入。之前的一篇文章C# DateTime类型保存到MySql数据库也会四舍五入https://blog.csdn.net/weixin_46879188/article/details/116201261原创 2021-07-29 14:20:43 · 3588 阅读 · 0 评论 -
数据字典的应用场景
同时我们还添加了一些用于前端页面显示的字段,比如说有些选项需要高亮显示,或者设置一些默认值,我们可以通过在渲染时判断该关键值比如途中is_dafault 是否为N,或者绑定css字段中的class字段来实现样式的变换,这样通过接口返回给前端list时,前端便可以直接获取清晰明了的字段id,含义,同时还可以进行一些特殊样式的渲染等。在平时开发的过程中,特别是在遇到表单时候,我们经常需要为前端提供一些下拉选项的信息,这时候我们需要为前端提供下拉菜单的信息,让前端进行渲染。原创 2021-07-26 10:25:28 · 2942 阅读 · 0 评论 -
C# Convert方法:数据类型转换易错汇总
方法说明Convert.ToInt16()转换为整型(short)Convert.ToInt32()转换为整型(int)Convert.ToInt64()转换为整型(long)Convert.ToChar()转换为字符型(char)Convert.ToString()转换为字符串型(string)Convert.ToDateTime()转换为日期型(datetime)Convert.ToDouble()转换为双精度浮点型(double)...原创 2021-07-23 20:12:59 · 1549 阅读 · 0 评论 -
C# 中参数验证方式的演变
一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空,如果是字符可能有长度限制,如果是整数可能需要判断范围,如果是一些特殊的类型比如电话号码,邮件地址等,可能需要使用正则表达式进行判断。通常,我们一般都是在方法开始的地方进行条件判断,然后抛出合适的异常,这是最普通和通用的做法,但是在.NET中,利用一些语言特性和类库,可以使用一些其他的方式将我们从复杂繁琐的工作中解放出来。本文逐一介转载 2021-07-21 16:48:09 · 1020 阅读 · 1 评论 -
C#中的转译字符以及字符串前面@的作用
转义字符:当我们需要在字符串中输入一些特殊的字符时,比如:半角引号,换行,退格等就需要转义字符转义字符是一个特殊的字符,它由一个“\”加上一个字母来组成具有特殊意义的一个字符。常用的转义字符:\n: 换行\b: backspace 退格\t: tab 有多个空格组成的一个字符,具有行与行之间的对齐功能\ :表示一个\在字符串前面加一个@有2种意义:1,字符串中如果有\,则不再理解为转义符。Console.WriteLine(@“D:\english\常用词汇”); //如果不增加@刚原创 2021-07-13 15:02:28 · 2327 阅读 · 0 评论 -
C# Try...Catch异常捕捉机制
1.同步方法中捕捉异常肯定是可以的2.多线程Task方法中捕捉异常可以捕捉异常的写法:①Task中使用try…catch…Task中可能会抛出多个异常=②wait()、Result在调用Task的Wait()方法或Result属性处会抛出Task中的异常。③使用ContinueWith捕获异常如果不可以在内部捕获,可以使用ContinueWith()方法捕获异常 var t = Task.Run<int>(() => {原创 2021-06-18 11:08:25 · 5117 阅读 · 0 评论 -
ASP.NET WebApi 配置Swagger 2.0的注意事项
1 安装通过 NuGet 安装 Swashbuckle。(Swashbuckle 5.6.0依赖于 Swashbuckle.Core 5.6.0)安装完成后,App_Start 文件夹下会多出一个 SwaggerConfig.cs 文件。重新生成并发布 api,打开网页 http://localhost:7001/swagger(这里注意换成你的 host)网页显示如下:2 修改名称和版本号上图中框出的名称和版本号是可以修改的,打开 SwaggerConfig.cs 文件,找到如下代码:原创 2021-06-08 11:18:52 · 667 阅读 · 0 评论 -
C# 中优先级加号(+)>三元运算符(?:) >空合并运算符(??)
//验证 + 号 和 ?: 的优先级 + 大于 ?: int? a = 0; var m = 3 + a == 0 ? 1 : 2; //验证 + 号 和 ?? 的优先级 + 大于 ?? int? b = 0; var n = b ?? 0 + 10; //验证 ?: 号 和 ?? 的优先级 ?: 大于 ?? i...原创 2021-06-02 17:23:23 · 347 阅读 · 0 评论 -
VS2017 EF连接Mysql版本问题
EF连接MySQL可用版本,由于EF、MySQLConnection、mysql-for-visualstudio、VS版本、MySQL.Data、MySQL.Data.Entity版本问题较花时间,记录下成功的版本(nuget搜索或者程序包管理控制台:Install-Package MySql.Data.Entity -v 6.8.8)① EF 6.1.3mysql-connector-net-6.8.8mysql-for-visualstudio-1.2.6MySQL.Data 6.8.8M原创 2021-05-06 17:14:23 · 321 阅读 · 0 评论 -
ASP.NET WEBAPI Post前后端传递参数
单个实体作为参数当我们需要传递一个实体作为参数该怎么解决呢?我们来看下面的代码便知:$.ajax({ type: "post", url: "http://localhost:17427/LinePC/saveDatas", data: { type: 1, data: "[{\"WorkListNum\":\"183355103\",\"ChipNum\":\"CR0402JF0000G\",\"OriginListNum\":\"BNV184065039\",\"Pa原创 2021-04-28 14:18:32 · 791 阅读 · 0 评论 -
ASP.NET ConfigureAwait(false)写法是否防止同步方法调用async方法引发的应用程序崩溃
同步方法调用async方法引发的ASP.NET应用程序崩溃https://blog.csdn.net/weixin_34208283/article/details/93603295上面地址的结论:ASP.NET代码中使用ConfigureAwait(false)防止同步方法调用async方法崩溃。我们来测试下ConfigureAwait(false) 和 await异步调用的差别ConfigureAwait(false)public string getPATData([FromUri]原创 2021-04-25 15:16:34 · 485 阅读 · 0 评论 -
await调用异步之后线程ID是否与调用异步之前线程ID一致(实战篇)
https://www.cnblogs.com/sjyforg/p/3949029.html看到大佬的文章,小弟来测试下1.winform应用程序 private void button94_Click(object sender, EventArgs e) { TestAsync(); } private async void TestAsync() { Console.WriteLine($"主线程调.原创 2021-04-25 14:45:41 · 837 阅读 · 0 评论