C#
Nero_JUGG
程序改变世界
展开
-
关于变量在for循环内外定义的思考
关于变量在for循环内外定义的思考在c#或java里面,我们通常会这样写for循环:for(int i = 0;i10;i++){ Console.WriteLine(i); }前一阵子,我突发奇想,如果按照下面这样写,会不会比上面的运行效率高一些:12345转载 2017-04-13 14:58:36 · 7713 阅读 · 0 评论 -
C#中var、int、object性能比较
var关键字是.net3.5推出的关键字,主要是让编译器自动推断并判断变量类型,类似javascript中的var。在使用一些性能优化软件时,在代码优化时,我发现不管定义什么类型的变量,变量的类型都统统换成var。难道var的性能比具体的类型和object都要高?实践出真知:新建一个控制台应用程序class Program { static void转载 2017-06-13 10:54:02 · 845 阅读 · 0 评论 -
调试报The source file is different from when the module was built error解决办法
调试报The source file is different from when the module was built error解决办法!之前有个项目,一个Solution里面有几个consoleapp,一个website,调试没发现有任何错误,但是今天建立一个新的项目,类似之前的,发现每次改完代码,DLL引用的地址并非我references的地址,Google一下,老外给了各种建议:原创 2017-06-27 15:02:23 · 1586 阅读 · 0 评论 -
深入理解C#中的泛型
为什么要有泛型? 请大家思考一个问题:由你来实现一个最简单的冒泡排序算法,如果没有使用泛型的经验,可能会毫不犹豫的写出以下代码:[csharp] view plain copypublic class SortHelper { //参数为int数组的冒泡排序 public转载 2017-06-28 15:03:24 · 257 阅读 · 0 评论 -
解决Targeting ES5 with TypeScript in Visual Studio
由于开发环境不一样,导致build的时候报错。搞了一个上午,终于解决了问题。Targeting ES5 with TypeScript in Visual Studio找到项目中tsconfig.js 文件{ "compilerOptions": { "target": "es5", "noImplicitAny": false}增加或者修改成原创 2017-08-16 15:34:40 · 330 阅读 · 0 评论 -
关于多线程传递参数调用方法
关于多线程传递参数调用方法学习完多线程通信方法,界面再也不会卡死了,但是项目中有级联反应,需要传递参数调度线程。一级级联: private void Window_Loaded(object sender, RoutedEventArgs e) { Thread thread = new Thread(new ThreadS原创 2017-06-07 16:33:39 · 1584 阅读 · 0 评论 -
初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录。 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package Manager,右键项目文件多了一项Manage Nuget Packages...,这是个神马玩意儿,当时是一头雾水,后台查了些资料才知到NuGet是 Visual Studio的一个扩展,转载 2017-07-27 10:49:16 · 365 阅读 · 0 评论 -
关于.NET编译的目标平台(AnyCPU,x86,x64)
关于.NET编译的目标平台(AnyCPU,x86,x64)(转) 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有DLL工程的目标平台全部指定成AnyCPU 。 下面我们一起看看这个目标平台有什么作用,各选项有什么差别吧。在VisualStudio中,在编译设置中有如下选项: x86: 将程序集编译为转载 2017-09-19 09:28:04 · 425 阅读 · 0 评论 -
VS2015“检测到在集成的托管管道模式下不适用的 ASP.NET 设置”的最终解决办法
刚把装备升级成Win10和VS2015打开以前的项目一运行发现问题来了,出错,“检测到在集成的托管管道模式下不适用的 ASP.NET 设置。”可尝试的操作:1,将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做。例如,从 IIS Express 安装目录运行 appcmd migrate config转载 2017-10-18 10:59:04 · 1093 阅读 · 0 评论 -
关于LINQ与Lamba的说明
LINQ:延迟加载 在上篇中简单的和大家提到了LINQ具有一个很有意思的特性那就是“延迟加载”(或“延迟计算”),什么是延迟加载呢?先看来自官方的描述:延迟执行意味着表达式的计算延迟,直到真正需要它的实现值为止。是不是觉得有点生涩难理解呢?按照我个人的理解通俗的讲就是,每当我们编写好一段LINQ表达式时,此时这个表达式所代表的序列变量仅仅只是一个代理,编译器在执行编译时根本就不鸟这段代码转载 2017-10-20 16:36:11 · 297 阅读 · 0 评论 -
EasyUI 防止A标签按钮重复提交
关于如何防止A 标签按钮重复提交解决方案:ExportSumReportfunction ExportSumReport() { $("#btnExport").css("color", "#CCC"); $('#btnExport').linkbutton('disable'); setTimeout('$("#btnExport").l原创 2017-05-04 16:30:28 · 3317 阅读 · 0 评论 -
EPPLUS 分组
使用EPPLUS,导出的EXCEL文件中分组public void Row_Col_Grouping_Test(){ //http://stackoverflow.com/questions/32760210/how-to-group-rows-columns-in-epplus //Throw in some data var datatable = new Da转载 2017-05-03 16:51:12 · 973 阅读 · 0 评论 -
如何允许匿名用户访问某些给定页面的MVC?
由于公司业务的需求,某些页面不需要登录直接就可以访问。因此本人通过查阅资料总结如下。Web.config中验证方式,一般情况下每次登录都需要验证 需要验证的页面: [Authorize, HttpGet, Route("~/Test")] public ActionResul原创 2017-07-13 08:53:01 · 1630 阅读 · 0 评论 -
如何将多个DataTable添加到指定的DataSet中
如何将多个DataTable添加到指定的DataSet中事件起因:从数据库中,查询多个dataTable,现在想一下子返回多个table,所以就想到用DATASET,遇到下面的两个现象,现在记录下,做个参考。DataSet ds = new DataSet();//创建数据集DataTable dt1 = BIZ.GetSalesInfo();//获取出售信息表DataTabl转载 2017-04-17 11:18:43 · 785 阅读 · 0 评论 -
C# 合并多个结构相同的DataTable
C# 合并多个结构相同的DataTable public DataTable GetAllDataTable(DataSet ds) { DataTable newDataTable = ds.Tables[0].Clone(); //创建新表 克隆以有表的架构。 object[]转载 2017-04-17 14:21:04 · 1834 阅读 · 0 评论 -
C#中BackgroundWorker中的DoWork执行了多次
【问题】C#中,调试一个BackgroundWorker,发现一个问题:DoWork在第一次执行完毕后,接下来,又进入了DoWork,即DoWork被调用了多次。 【解决过程】1.后来参考:https://stackoverflow.com/questions/12231379/dowork-of-backgroundworker-is-ca转载 2017-06-06 11:30:07 · 5036 阅读 · 0 评论 -
Thread was being aborted 分析与解决
Thread was being aborted 分析与解决在捕获异常的try块中使用response.redirect();或response.write();response.end();有时会提示线程已被中止(英文:"Thread was being aborted")错误.分析该错误的原因是由于执行这两个命令会重新发起一次请求,将当前请求的进程abort掉;转载 2017-06-06 16:05:13 · 23376 阅读 · 0 评论 -
WPF多线程UI更新——两种方法
前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象。)这是很常见的一个错误,一不小心就会有这个现象。在WPF中,如果不是用多线程的话,例如单线程应用程序,就是说代码一路过去都在GUI线程运行,可以随意更新任何东西,包括UI对象。但是使用多线程来更新UI就可能会出现以上所说转载 2017-06-07 15:44:22 · 1387 阅读 · 0 评论 -
C#奇妙的函数(1)-五个序列聚合运算(Sum, Average, Min, Max,Aggregate)
今天,我们将着眼于五个用于序列的聚合运算。很多时候当我们在对序列进行操作时,我们想要做基于这些序列执行某种汇总然后,计算结果。Enumerable 静态类的LINQ扩展方法可以做到这一点 。就像之前大多数的LINQ扩展方法一样,这些是基于IEnumerable 序列的操作。SUM() - 计算整个序列的总和它有两种形式:SUM( )计算整个序列的总值。转载 2017-06-29 14:33:14 · 2954 阅读 · 0 评论 -
C# 为什么要重写了object类的ToString()方法
重写了object类的ToString()方法。在C#中所有的类都继承自object。object提供的方法在任何一个类中都可以使用,如果你不希望使用object的方法的话,你可以重写他。比如:public class A{public override string ToString(){return "Hello";}}当你使用A.ToString()时结果为“Hello”,如果你没有重写To转载 2017-06-29 16:38:05 · 1747 阅读 · 0 评论 -
VS 常用快捷键最全面整理
.NET 工程师 必备的提高开发效率的快捷键。-------------------------------------------------------------------------------------常用的---------------------------------------------------------------------------------------转载 2017-06-30 10:49:52 · 585 阅读 · 0 评论 -
关于C#中{get;set;}与{get:return;set:value}的区别
我相信大家都有看过很多代码,而且不同人写的代码风格不一样,我就发现了一个现象,好奇,然后查询他们的区别。public string Id{get;set;}这种写法是dotNet2.0以后才可以这样写,目的是减轻程序员的工作量,它的实现就是由编译器生成private string id;public string Id{get { return id; }set {原创 2017-07-11 15:32:02 · 8122 阅读 · 0 评论 -
asp.net 点击完按钮后刷新页面发现还会触发buttonClick事件
asp.net 点击完按钮后刷新页面发现还会触发buttonClick事件原创 2015年09月06日 16:07:452029当点击完按钮之后,再刷新页面,发现buttonclick事件仍然会发生,这是因为web浏览器重新发送你以前提交的信息。 protected void Button1_Click(object sende转载 2017-11-16 18:31:23 · 3807 阅读 · 1 评论