work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  D.C#

摘要:这篇文章还不错,使用 .net , 对微信用户的想公众号发送的文字进行回复。比较简单,自己可以修改更复杂的回复。微信公众号开发笔记(C#)原文地址需求分析根据用户在微信上发送至价值中国公众号的消息,查询与该消息相关的内容返回给用户。例如,用户发送【美国经济】后收到包含【美国经济】的内容,点击可查看全... 阅读全文

posted @ 2015-10-16 17:57 work hard work smart 阅读(715) 评论(0) 推荐(0) 编辑

摘要:这篇文章是网上转过来的,在AppHarbor使用Git上传Code的时候,需要输入用户名和密码,就是appharbor登陆的用户名和密码。可以参考这篇文章http://www.freehao123.com/webweb-net-appharbor/.net托管平台appharbor使用原文地址一、部... 阅读全文

posted @ 2015-10-16 17:52 work hard work smart 阅读(781) 评论(0) 推荐(0) 编辑

摘要:.net软件工程师面试题一. 填空题: 1. 类的三大特性是(封装)(继承)(多态)。 2. 在SELECT语句的FROM子句中最多可以指定(256)个表或视图,相互之间要用(逗号)分隔,当所查询的表不在当前数据库时,可用(数据库名.所有者名.表名)格式来指出表或视图对象。 3. 创建存储过程的命令是(create proc 存储过程名)删除表的命令是(drop 表名)。 4. 计算字段的累加和的函数是:(sum),统计项目数的函数是:(count)。 5. 关系数据库中,主键是(外键)。 6. 声明抽象类的关键字是(abstract),抽象类不能(sealed)。 7. .NE... 阅读全文

posted @ 2012-12-26 22:42 work hard work smart 阅读(4744) 评论(0) 推荐(0) 编辑

摘要:原文地址1 垃圾回收垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。1.1 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。1.1.1避免循环创建对象 ★如果对象并不会随每次循环而改变状态,那么在循环中反复创建对象将带来性能损耗。高效的做法是将对象提到循环外面创建。1.1.2在需要逻辑分支中创建对象如果对象只在某些逻辑分支中才被用到,那么应只在该逻辑分支中创建对象。1.1.3使用常量避免创建对象程序中不应出现如 new Decimal(0) 之类的代码,这会导致小对象频繁创建及回收 阅读全文

posted @ 2012-09-06 16:48 work hard work smart 阅读(1056) 评论(0) 推荐(2) 编辑

摘要:调整数据列表内的顺序,现写成扩展方法工具类 public static class CollectionHelper { //交换List项的顺序 public static bool ExchangeOrder<T>(this IList<T> list, int sourceID, int newID) { if (sourceID >= list.Count || sourceID < 0 || newID >= list.Count || newID < 0 || sourceID == newID) retu... 阅读全文

posted @ 2012-06-18 12:10 work hard work smart 阅读(639) 评论(0) 推荐(0) 编辑

摘要:C# Out,Ref 学习总结。 ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。 使用ref前必须对变量赋值,out不用。 out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。 区别可以参看下面的代码: public class OutRef { static void outTest(out int x, out int y) { //离开这个函数前,必须对x和y赋值,否则会报错。 //y = ... 阅读全文

posted @ 2012-06-12 10:17 work hard work smart 阅读(310) 评论(0) 推荐(0) 编辑

摘要:c# 类中字段属性设计1、当把属性设计成private set时,表示在外部类中就不能对该属性赋值。如public class A { string pwd; public event EventHandler PasswordChanging; public string Pwd { get { return pwd; } private set { if (string.IsNullOrEmpty(value)) ... 阅读全文

posted @ 2012-03-30 19:50 work hard work smart 阅读(582) 评论(0) 推荐(0) 编辑

摘要:在C# 5.0功能之Async一瞥中,简单的介绍了Async CTP的使用,我们一起领略了下一版本的C#可能给我们带来的强大而简单的编写异步执行的代码的方法。文中提到一个异步方法的返回值有三个选项:voidTaskTask<T>什么时候使用哪一种返回类型,是有讲究的。一不小心使用不当,会让代码产生意想不到的结果。为了避免在将同步代码改成异步代码时出现返回类型选择不恰当的情况,给大家介绍ASync选择返回类型的三法则。(图片来自Bing搜索)(还是申明一下:本文的例子基于Async CTP SP1 Refresh完成。由于 Async还处于CTP阶段,很多东西还在讨论,因此,也许到正 阅读全文

posted @ 2012-03-16 19:47 work hard work smart 阅读(469) 评论(0) 推荐(0) 编辑

摘要:我们继续C#基础知识的学习,这篇文章主要要讲的是我们C#程序员迈向高级C#程序员的关键性的一步。有的朋友会说事实不是这样的,我不用反射就不能开发吗?当然可以,但是用与不用肯定是不一样的,任何复杂抽象的分层架构或者说是复杂的设计模式均是建立在这些基础之上的,比如我们要进行模块化、组件化开发,要严格的消除模块之间的耦合,要进行动态接口调用。这样的强大而灵活的系统开发,必须要用反射才行;任何技术都有它存在的价值和意义,只要我们把它用在合适的位置就能发挥出惊人的力量;能尽可能的减少我们编写的代码,更能是我们的代码便的清晰简洁;下面我们就来学习C#中的反射的概念以及怎么使用它,用它能为我们提供什么样的好 阅读全文

posted @ 2012-03-12 15:49 work hard work smart 阅读(400) 评论(0) 推荐(0) 编辑

摘要:距离微软发布Async CTP已经有个把月了吧,周围大家都在热议着Async。如果你对Async已经非常熟悉,那么,请直接略过……如果你跟我一样,只会一点点异步编程,但又觉得以前的异步编程比较麻烦,那么,让我们一起来探索一下下一代的C#会给我们带来什么。(Async CTP同样对VB有支持的。)本文的例子基于Async CTP SP1 Refresh完成。由于 Async还处于CTP阶段,很多东西还在讨论,因此,也许待到C# 5.0发布的时候,细节还会变动。但是,大体的思路,概念应该是不会有什么变化了。进入正题:首先,要试用Async功能,我们需要安装Visual Studio 2010 SP 阅读全文

posted @ 2012-03-12 11:06 work hard work smart 阅读(856) 评论(0) 推荐(0) 编辑

摘要:我们在编程的时候,有时会使用多线程来解决问题,比如你的程序需要在后台处理一大堆数据,但还要使用户界面处于可操作状态;或者你的程序需要访问一些外部资源如数据库或网络文件等。这些情况你都可以创建一个子线程去处理,然而,多线程不可避免地会带来一个问题,就是线程同步的问题。如果这个问题处理不好,我们就会得到一些非预期的结果。 在网上也看过一些关于线程同步的文章,其实线程同步有好几种方法,下面我就简单的做一下归纳。 一、volatile关键字 volatile是最简单的一种同步方法,当然简单是要付出代价的。它只能在变量一级做同步,volatile的含义就是告诉处理器, 不要将我放入工作内存, 请... 阅读全文

posted @ 2012-02-17 20:43 work hard work smart 阅读(231) 评论(0) 推荐(0) 编辑

摘要:C# 序列化与反序列化 using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Soap; using System.Xml.Serialization; using System.Runtime.Serialization; public class SerializeAndDeserialize { //1、使用BinaryFormatter进行串行化 ... 阅读全文

posted @ 2011-12-22 15:38 work hard work smart 阅读(2511) 评论(0) 推荐(0) 编辑

摘要:C#:XML操作总结2 包括读取、插入、修改、删除1、读取节点中某一个属性的值 /// <summary> /// 读取节点中某一个属性的值。如果attribute为空,则返回整个节点的InnerText,否则返回具体attribute的值 /// </summary> /// <param name="path">xml文件路径</param> /// <param name="node">节点</param> /// <param name="attribute& 阅读全文

posted @ 2011-12-15 14:54 work hard work smart 阅读(4608) 评论(0) 推荐(1) 编辑

摘要:HashTable: 表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.对哈希表的操作包括1、添加keyvalue键值对2、遍历哈希表3、对哈希表进行排序4、判断哈希表是否包含特定键,其返回值为true或false5、移除一个keyvalue键值对6、输出哈希表中的值7、移除所有元素 Hashtable ht = new Hashtable(); //1、添加keyvalue键值对 ht.Add... 阅读全文

posted @ 2011-12-12 10:18 work hard work smart 阅读(464) 评论(0) 推荐(0) 编辑

摘要:下文是对C#对XML的具体操作如何完成.Net下XML文档的读写操作C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍C#中用SelectSingleNode方法解析带有多个命名空间的XML文件今晚在博问看到一个问题:查找xml文件中特定属性值的节点,给它增加一个新属性,本以为很简单,随手写了一个程序,却遇到了问题,主要是多个命名空间的原因,查找了一些资料最终解决了,现把解决的办法分享出来,大家如果有更好的方案欢迎留言讨论。 XML文件如下:<?xml version="1.0" encoding=" 阅读全文

posted @ 2011-12-12 09:49 work hard work smart 阅读(5947) 评论(0) 推荐(0) 编辑

摘要:C#中同时存在String与stringMSDN中对string的说明:string is an alias for String in the .NET Framework。string是String的别名而已,string是c#中的类,String是Framework的类,C# string 映射为 Framework的 String。如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。如果使用C#,建议使用string,比较符合规范 。 string始终代表 System.String(1.x) 或 ::System.String( 阅读全文

posted @ 2011-12-09 18:15 work hard work smart 阅读(624) 评论(1) 推荐(0) 编辑

摘要:C# Dictionary用法总结1、用法1: 常规用 增加键值对之前需要判断是否存在该键,如果已经存在该键而且不判断,将抛出异常。所以这样每次都要进行判断,很麻烦,在备注里使用了一个扩展方法 public static void DicSample1() { ... 阅读全文

posted @ 2011-12-09 18:06 work hard work smart 阅读(169577) 评论(9) 推荐(16) 编辑

摘要:1、NULL表示不引用任何对象的空引用的值。只有引用型变量可以为NULL,如int i=null,是不可以的,因为Int是值类型。2、""和String.Empty都表示空字符串。string.Empty不分配存储空间, ""分配一个长度为空的存储空间,所以一般用string.Empty, 为了以后跨平台,还是用string.empty注意:1.""和null的区别。""是一个空字符串,是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一 阅读全文

posted @ 2011-12-09 17:09 work hard work smart 阅读(346) 评论(0) 推荐(1) 编辑

摘要:一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例:<?xml version="1.0"?> <message xmlns="http://www.mydomain.com/MyDataFeed" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.mydomain.com/MyDataFeed https://secure.mydomain/MyDataF 阅读全文

posted @ 2011-11-30 10:28 work hard work smart 阅读(25190) 评论(7) 推荐(4) 编辑

摘要:Attribute在.net编程中的应用(一)Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它们的在代码中的位置不同,其次就是写法不同(Attribute必须写在一 阅读全文

posted @ 2011-11-21 11:22 work hard work smart 阅读(250) 评论(0) 推荐(1) 编辑