
C#
Sammy爱学习
这个作者很懒,什么都没留下…
展开
-
MyRedisHelper帮助类
using System;using System.Collections.Generic;using System.Text;using StackExchange.Redis;using Newtonsoft.Json;using System.Linq;using System.Threading.Tasks;namespace MyUtility.RedisHelper { public class MyRedisHelper { private IData.原创 2021-09-01 21:57:47 · 296 阅读 · 0 评论 -
C#连接Oracle查询繁体数据库
c#通过System.Data.OracleClient这个库连接繁体的Oracle数据库查询时如果条件中含中文,把中文进行简转繁后还是查询不出来,但是调试把Sql放到查询分析器中就可以查询出来了。马上想到估计是编码的问题,网上查了下只要在连接字符串中增加Unicode=true;就行了 <add name="OracleServer" connectionString="Data Source=test;User Id=test;Password=test;Unicode=true;"..原创 2021-03-10 17:16:03 · 260 阅读 · 0 评论 -
c#实现深拷贝的几种方法
为什么要用到深拷贝呢?比如我们建了某个类Person,并且实例化出一个对象,然后,突然需要把这个对象复制一遍,并且复制出来的对象要跟之前的一模一样,来看下我们一般会怎么做,看代码 public class Person{ public string Name { get; set; }}class Program{ static void Main(string[] args) { Person sourceP = new Person() { Name =转载 2020-08-27 20:48:42 · 2257 阅读 · 0 评论 -
C#decimal结构取整方法总结
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //Floor向负无穷方向舍入为最接近的整数 Console.WriteLine(decimal .Floor(-.转载 2020-08-25 17:15:10 · 3157 阅读 · 0 评论 -
WinForm使用异步多线程更新界面UI
在WinForm下如果不使用异步多线程更新UI界面是很方便的因为主线程可以直接操作UI,可以直接操作控件赋值就行了,如:richTextBox1.Text。但是使用异步多线程后需要使用控件自身的invoke/BeginInvoke方法来实现如不带参数 private void RecvMsg(string identify,string msg) { ...原创 2020-04-19 10:46:25 · 6116 阅读 · 0 评论 -
MVC下自定义ModelState验证扩展方法
MVC下可以通过对ModelState.IsValid方法进行验证模型,当我们设计好一个模型并且通过引用using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;设置好相应的特性时,Action中通过ModelState.IsValid就可以对此模型进行相...原创 2020-02-05 09:31:20 · 563 阅读 · 0 评论 -
使用NPOI导出Excel操作的改进
NPOI导出Excel是比较方便的,可以设置标题,列宽等,原先我导出Excel的方法如下:/// <summary> /// 导出到Excel文件 /// </summary> /// <param name="dt">表</param> /// <param name="s...原创 2018-09-07 12:47:59 · 411 阅读 · 0 评论 -
MVC Core的自定义模型绑定IModelBinder
在.net framework时MVC5下我们自定义模型绑定是继承DefaultModelBinder来重写BindModel实现的如代码:/* * 描述:自定义ModelBinder进行字符串输入的处理去空格 */using System;using System.Collections.Generic;using System.Linq;using System.Web;...原创 2020-02-02 13:09:09 · 2093 阅读 · 0 评论 -
C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法
C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法// 获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory// 获取模块的完整路径,包含文件名System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName// 获取...转载 2020-01-04 21:39:42 · 2425 阅读 · 0 评论 -
C#笔记(类型)2
C#笔记(类型)2 类型是一种模板 可以把类型想象成一个用来创建数据结构的模板。模板本身不是数据结构,但它详细说明了由该模板构造的对象的特征。如:int i_a,short s_a 预定义类型C#定义了16种预定义类型,其中13种简单类型3种是非简单类型(string,object,dynamic)所有的预定义类型都映射到底层的.NET类型。 用户定义类型由如下几种class,struct...原创 2018-03-06 21:28:26 · 156 阅读 · 0 评论 -
C#笔记(.Net异步编程async/await)3
C#笔记(.Net异步编程async/await)3最近学习了.Net下异步编程,因此有必要总结下,以后可以参考首先我们来了解下.net下多线程的方法关于多线程,早在.NET2.0时代,基础类库中就提供了Thread实现,.Net4.0时代推出了新的多线程模型Task.那让我们来看下两者的区别吧。#region 多线程测试 private static void ...原创 2018-04-22 11:14:02 · 3285 阅读 · 1 评论 -
C#委托事件学习
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 事件{ class Program { static void Main(string[] args) ...原创 2018-06-24 17:25:47 · 209 阅读 · 0 评论 -
MVC中使用异步方法async await
关于在MVC中使用异步方法async await通过这两个关键字来实现/// <summary> /// 调用webapi获取按钮权限信息 /// </summary> /// <param name="spid"></param> /// <param name="userid"原创 2018-06-25 12:47:24 · 4929 阅读 · 0 评论 -
.net下session共享的解决方案
.net下我们需要做sso的话,我们设置session以通过StateServer方式,如果有两个项目A和B只需要设置webconfig文件 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="60"></sessionState>然后在两个项目的Gl...原创 2018-06-25 20:27:35 · 1131 阅读 · 0 评论 -
C#笔记(面向对象的学习)
C# 面向对象的封装、继承、多态一.封装封装:把客观的事物封装成类,使用和修改方便;封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。封装的意义在于保护或者防止代码(数据)被我们无意中破坏。封装既可以封装成员变量,又可以封装成员方法封装学习例子每个对象都包含它进行操作所需要的所有信息,封装只公开代码单元的对外接口,而隐藏其具体实现,尽量不对外公开代码。...原创 2018-06-20 08:01:44 · 285 阅读 · 0 评论 -
c#笔记(反射学习)
利用反射我们可以简化我们的编程,如进行Sql语句的自动生成。下面来记录下之前使用的一些功能自定义特性我们定义实体当中要使用表名特性 [AttributeUsage(AttributeTargets.Class,Inherited=true)] public class TableNameAttribute:Attribute { public s...原创 2018-07-22 13:51:45 · 249 阅读 · 0 评论 -
Task.Run 和 Task.Factory.StartNew 区别
转:Task.Run 和 Task.Factory.StartNew 区别Task.Run 是在 dotnet framework 4.5 之后才可以使用, Task.Factory.StartNew 可以使用比 Task.Run 更多的参数,可以做到更多的定制。可以认为 Task.Run 是简化的 Task.Factory.StartNew 的使用,除了需要指定一个线程是长时间占用的,否...转载 2018-11-05 08:37:27 · 33163 阅读 · 0 评论 -
C#笔记(从程序中输出文本)1
C#笔记(从程序中输出文本)1 最近看书是想把笔记这些记下来以后翻阅下,就想到了可以在博客上记录下,这样还是挺方便的。参考书籍:C#图解教程 C#基础 1.Write和WriteLineWrite和WriteLine的区别:前者在字符串后没有添加换行符,后者在字符串后会自动添加换行符使用Write如Console.Write("testa");Console.Write("testb");...原创 2018-03-06 21:05:23 · 2743 阅读 · 0 评论