C#语言
文章平均质量分 69
小马亮哥
这个作者很懒,什么都没留下…
展开
-
通过反射向对象取值和赋值
public void Test6() { List<RepaymentRecord> repaymentList = new List<RepaymentRecord>(); StringBuilder msg = new StringBuilder(); RepaymentRecord entity = new RepaymentRecord(); ...转载 2020-07-22 20:45:38 · 273 阅读 · 0 评论 -
数字转换为大写汉字表示(C#和JS函数)
JS转换函数: function NoToChinese(num) { if (!/^\d*(\.\d*)?$/.test(num)) { alert("Number is wrong!"); return "Number is wrong!"; } var AA = new Array("零", "壹", "贰", "叁", "肆", "原创 2017-04-07 13:56:04 · 823 阅读 · 0 评论 -
C#导出带格式的Excel
/// ///不要图省劲省略了System.Data。Microsoft.office.Interop.DataTable 和System.Data.DataTable 会产生歧义 public void DataTabletoExcel(int Id) { OrderModel order = BLL.GetModel(Id);原创 2017-05-04 10:07:09 · 3062 阅读 · 0 评论 -
C# 泛型DataTable转对象List
/// /// Table转List /// /// /// public List TableToList(DataTable dt) { var result = new List(); var type = typeof(T)原创 2017-04-26 11:50:35 · 1835 阅读 · 1 评论 -
lamda Linq group by查询
两个query的join查询,重点是group by的写法:(query可以用list等替换) var recVoucher = db.GetQuery(); var promoto = db.GetQuery(); var data1 = (from a in recVo原创 2017-06-23 14:36:21 · 589 阅读 · 0 评论 -
C#连接Oracle查询更新数据
本案例使用的是 using System.Data.OracleClient;方式连接Oracle数据库private void button1_Click(object sender, EventArgs e) { string connString = "User ID=***;Password=***;Data Source=(DESCRIP原创 2017-07-19 17:12:48 · 4507 阅读 · 0 评论 -
windows 服务安装和卸载
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 安装服务时自定义服务名称:sc create 服务名称 binpath= "D:\Service.exe" displayname= "显示名称" depend= Tcpip start= auto (启动类型)安装目录服务:InstallUtil.exe D:\Serv原创 2017-10-13 14:55:12 · 2581 阅读 · 0 评论 -
C#因无打印机系统报错,模拟打印避免弹错
在开发过程中,因为有的门店没有置办打印机,所以下单自动打印总是弹出报错。经过总结和讨论,最终决定使用模拟打印这一招,既避免了用户的误会。 public class NormalPrinter : IPosPrinter { PosPrinter printer = new PosPrinter(); public SingleResult原创 2018-01-26 14:58:44 · 546 阅读 · 0 评论 -
Invalid header signature; read 0x6D78206C6D74683C, expected 0xE11AB1A1E011CFD0 (2012-07-19 17:01:21)
分析:用POI读取Excel文件时报错。通常的原因:是读取的文件头信息不对,http://blog.sina.com.cn/robertlizhiqiang经常出现在: FileInputStream in = null; HSSFWorkbook workbook = null; in = new FileI...转载 2018-03-13 15:54:55 · 11337 阅读 · 2 评论 -
NPIO读取Excel,Cannot get a numeric value from a error cell和计算框
这里主要解决2个问题;第一:Cannot get a numeric value from a error cell报错,也就是excel的框里是{null},然后我们取值的时候报的错。这种情况一般用celltype==Error来规避。第二:计算框,如:《=(J8*K8+L8)*M8 》直接获取值会得到“0”,通过如下红色代码可以规避;HSSFFormulaEvaluator 接口的方法 E...原创 2018-04-04 17:29:38 · 7308 阅读 · 0 评论 -
C#技术之路
描述线程与进程的区别?线程属于进程,进程可以拥有多个线程而且至少拥有一个线程;进程可以拥有资源,线程没有;体现在通信机制上面,正因为进程之间互不干扰,相互独立,进程的通信机制相对很复杂,譬如管道,信号,消息队列,共享内存,套接字等通信机制,而线程由于共享数据段所以通信机制很方便。但是共享数据段,它们彼此之间使用相同的地址空间,共享大部分数据,比进程更节俭,开销比较小,切换速度也比进程快,效...原创 2019-02-12 18:18:15 · 2393 阅读 · 0 评论 -
C# 通过Response导出文件
将要导出的数据,转化为byte数组,将byte数组读到MemoryStream里面。再设置ResPonse的导出类型,具体类型种类下面有详细举例。 public void UserDolond(string rowGuid,string name) { List<string> relation = _quoteTemplateBLL....原创 2019-09-02 14:05:01 · 3266 阅读 · 0 评论 -
HttpWebResponse 传输IDictionary<string, string>[] parameter数组
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Data;using System.Data;using System.Configura原创 2015-11-10 14:45:32 · 1744 阅读 · 0 评论 -
C#——MVC从服务端解决JS跨域请求问题
IIS 配置 就可以了, 选中站点后选择 Http 响应头 , 右侧选择添加, Access-Control-Allow-Origin , 值设置为 * 另外将保存为crossdomain.xml 放在网站根目录下, 重启网站转载 2016-12-01 13:37:12 · 2896 阅读 · 0 评论 -
.net文件上传下载
文件上传前台:前台主要就是用file控件,Form表达Post文件流到后台 上传 文件上传后台,后台接收文件流[HttpPost] public JsonResult Upload原创 2016-04-15 15:15:06 · 486 阅读 · 0 评论 -
MD5CryptoServiceProvider的MD5加密结果和百度不一致
接口对接,对方是java加密,跟C#加密,加密出来的结果不一致。后面那2种分别针对webform和winform的加密跟java加密结果是一致的。最近和其他公司做接口,原本的MD5加密算法是这样的: byte[] bytes = Encoding.Default.GetBytes(instr_); MD5CryptoServ...原创 2016-04-15 16:37:52 · 13731 阅读 · 5 评论 -
asp.net页面DataTable转Excel
public ActionResult OutPutExcel(string Ids) { DataTable dt = new BEnquirePerson().GetOutPutData(Ids);//获取数据源 string FileType = ".xls";//设置文件格式 string Fi转载 2016-04-15 14:55:35 · 883 阅读 · 0 评论 -
Linq语法大全
1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3转载 2016-04-06 16:23:05 · 641 阅读 · 0 评论 -
.net面试:简述List与string[]的区别
string[]数组里面是存放string型的值,List是存放string类型的对象数组的容量是固定的,您只能一次获取或设置一个元素的值,而List的容量可根据需要自动扩充、修改、删除或插入数据。数组可以具有多个维度,而 List 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于List的性能。 这是因为 List原创 2016-03-11 09:28:05 · 578 阅读 · 0 评论 -
线程传参数问题
Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadStart) 初始化 Thread 类的新实例。 由 .NET Compact Framework 支持。 Thread (ParameterizedThreadStart, Int32) 初始化 Thre转载 2016-02-19 11:42:39 · 394 阅读 · 0 评论 -
C#跨平台调用接口(URL传参GET调用和Post Json传参调用)
方法一:URL传参POST调用使用HttpWebRequest,将参数POST调用 string HampsonURL = new BSysConfig().GetValue(ConfigKey.接口地址); HampsonInfo Hmodel = new HampsonInfo(); Hmodel.cname原创 2016-03-02 15:44:41 · 6222 阅读 · 0 评论 -
跨线程调用问题
如果一个方法被一个线程调用,由于业务需要,另一个线程也需要用到这个方法怎么办呢?如果直接在另一个线程中调用该方法,不一定会报错,但是肯定不会执行,因此很难发现问题出在哪里。本菜目前知道2种方法:1、用委托,看起来比较高大上一点;2、直接另写一个方法,绕过其线程(局限性非常大,如果是语言自身的消息机制等根本就绕不过)下面我根据C# Winform的用其他线程更改提示框信息把第一种方法写一原创 2015-11-20 10:04:56 · 609 阅读 · 0 评论 -
消息队列使用,异步执行,加快速度
//定义队列 private readonly Queue documentQueue = new Queue(); public void AddDocument(TrainLandingPageInfo model) { lock (this) { document原创 2015-11-20 09:55:12 · 1046 阅读 · 0 评论 -
ToString() 妙用
变量.ToString() 字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345转载 2016-06-14 15:53:14 · 255 阅读 · 0 评论 -
c#中Monitor的使用
首先lock和Minitor有什么区别呢?其实lock在IL代码中会被翻译成Monitor。也就是Monitor.Enter(obj)和Monitor.Exit(obj).lock(obj){}等价为:try{ Monitor.Enter(obj) }catch(){}finally{ Monitor.Exit(obj) }所以lock能转载 2016-07-12 10:57:31 · 8087 阅读 · 0 评论 -
反射略识
using System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Text;using System.Threading.Tasks;namespace 反射练习{ class Program {原创 2016-07-12 11:45:33 · 383 阅读 · 0 评论 -
线程实现间隔时间运行一次
之前用的System.Timers.Timer myTimer=new System.Timers.Timer(); 的定时器,不知道什么鬼,跑一会停一会。有瑕疵;后来心一横就改用线程了,因为从原理上将,定时器也是个线程,只是封装了一个定时功能。定义全局变量的线程:Thread LogThread;在构造函数中初始化: LogThread = new Thread(原创 2016-05-05 16:10:02 · 8348 阅读 · 0 评论