CFXIXI工作室首页
CF西西的博客 | .NET

css 设置字体为Arail

22. 三月 2013
font-family:Arail

.NET

(C#)将一个远程xml读入对象

21. 三月 2013
WebRequest myRequest = WebRequest.Create(xmlpath + "1" + ".xml");             WebResponse myResponse = myRequest.GetResponse();             Stream stream = myResponse.GetResponseStream();             xmlDoc.Load(stream); 以上是读成流的方式 起始简单的直接用 xmlDoc.Load(url);就能远程读取一个xml

.NET

使用coffee以及scss的网站如何编译发布

19. 三月 2013
js和css下的_build先签出 1、进入powershell(程序包管理控制台) 例如: cd Fundtrade.Web/support 2、dir 敲入列出所有文件 3、 .\build_static.ps1 开始编译

.NET

js让游览器直接输出文字(Response.Write)

16. 三月 2013
游览器直接输出文字 Response.ClearContent(); Response.Write(“萨达速度速度速度”);

.NET

tfs如何查看项目中所有文件的历史记录

15. 三月 2013
lz用的是vs2012,从“团队资源管理器”中进到“源代码资源管理器”中然后对着你修改过的project右击弹出查看历史记录即可

.NET

定义类型是泛型的方法假设传入参数存cache

14. 三月 2013
假设传入参数存cache public bool Finish<T>(string guidKey,T dealDetail)         {             string key ="aaa";             try             {                 HttpRuntime.Cache.Add(key, dealDetail, null, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration,                                       CacheItemPriority.Normal, null);             }             catch (Exception e)             {                 return false;             }             return true;         } 调用方法: singleSubmit.Finish<SGAndRGSuc>(_key, result); 好处就是不用事先定义传入对象的类型

.NET

关于couchbase的底层代码存取

13. 三月 2013
 需要有一个核心dll 关于couchbase的底层代码存取 //cfxixi code 存值         public static void AvoidRepeatSubmitKeySet(string key, Boolean vale, int expireTime)         {             CasResult<bool> result = client.Cas(StoreMode.Set, key, vale, DateTime.Now.AddMinutes(expireTime),0);         }         //从couchbase中取出存入的值         public static bool AvoidRepeatSubmitKeyGet(string key)         {             object result;             if (client.TryGet(key, out result))             {                 return Convert.ToBoolean(result);             }             return false;         }         //cfxixi code end  

.NET

【.Net】 WebForm 按钮如何与本地js同步(防止暴力点击)

11. 三月 2013
通常webform按钮想要防止暴力点击比较麻烦,鉴于webform的控件提交用户名&密码事件和本地js难以同步(提交按钮的js保存至href的属性中),因此在页面载入时,将按钮的href属性中的js保存到变量中,第一次点击时移除登陆按钮href的属性,然后用游览器的url栏去执行先前保存的js执行完毕后再将变量置为null,用这个null防止用户重复点击按钮。   代码示例: if(btnHref!=null &&btnHref!=undefined &&btnHref!="") {    btn.removeAttr('href')    document.location.href=btnHref    btnHref=null }

.NET

【.Net】List中Exists和Contains的区别

11. 三月 2013
参考:http://www.cnblogs.com/jicheng1014/archive/2010/02/01/1660967.html 结论:(Contains 是list中内存地址的比较,Exists是对值的比较,貌似Exists更加的严谨一些)   List<T> 中的Contains 是对对象的"内存检测", 如果想查看List<T> 中是否有个对象的值   跟你声明的对象的值相同 则我们需要Exists 方法,且实现一个Predicate 委托来指定比较的方式

.NET

.Net List 初始化

11. 三月 2013
参考:http://space.itpub.net/14466241/viewspace-624132 List<int> l2 = new List<int>() { 1, 2, 3, 4, 5 };

.NET

如何使用Dictonary<>通过Key取出Value

9. 三月 2013
代码示例: 假设Dict是一个子典型,传入一个Key Dict.TryGetValue(Key, out outValue);

.NET

.Net List<> Exist方法的使用

9. 三月 2013
方法示例: if (!codeList.Exists(delegate(String p) { return p == item.code; })) { }

.NET

【.Net】如何生成一个GUID字符

7. 三月 2013
【.Net】如何生成一个GUID字符 System.Guid.NewGuid().ToString();

.NET

【.Net】泛型 List 和 Dictionary 类的互相转换(List转Dictionary)

7. 三月 2013
参考:http://www.cnblogs.com/snapping/archive/2008/01/11/1034765.html List转Dictionary // list -> dict 两种转换方式             // 1. 可指定 keySelector 和 valueSelector;完全自定义字典 key, value 的类型                         Dictionary<string, int> d2 = l2.ToDictionary(entry => entry.Key, entry => entry.Value);             // 2. 也可只指定 keySelector, value 为 entry 的值。             Dictionary<float, KeyValuePair<string, int>> d3 = l2.ToDictionary(                 entry => (float)entry.Value);   // dict -> list              // 转换为 List<T>,T 的类型是 KeyValuePair<TKey, TValue>             Dictionary<string, int> d = new Dictionary<string, int>();             var l = d.ToList();             List<KeyValuePair<string, int>> l2 = new List<KeyValuePair<string, int>>{                 new KeyValuePair<string,int>("a", 1),                 new KeyValuePair<string,int>("b", 2)             };

.NET

MongoDB查询表中的数据

7. 三月 2013
  MongoDB查询表中的所有数据 需要引入.net和mongoDB驱动cs以及MongoDBProvider.cs,以后贴出来 using (MongoDBProvider mc = new MongoDBProvider("aaa", "bbb"))                 {                     MongoCursor<BsonDocument> docs = mc.Collection.FindAll();                     foreach (BsonDocument val in docs)                     {                       }                 } 如果希望根据条件进行查询: 可以这样操作: QueryDocument query = new QueryDocument();                     query.Add("_id", code);                     var docs = mc.Collection.Find(query);                     foreach (var doc in docs) {                                                  ......do your work                         break;                     }  

.NET, MongoDB

HttpRuntime Cache用法及参数解释

7. 三月 2013
HttpRuntime Cache用法及参数解释: 存Cache方法: HttpRuntime.Cache.Add(        KeyName,//缓存名        KeyValue,//要缓存的对象        Dependencies,//依赖项        AbsoluteExpiration,//绝对过期时间        SlidingExpiration,//相对过期时间        Priority,//优先级        CacheItemRemovedCallback);//缓存过期引发事件   示例: HttpRuntime.Cache.Add("CurrencyFundCodeCache", docs, null, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);   封装一下: /// <summary>         /// 获得缓存         /// </summary>         /// <param name="cacheName"></param>         /// <returns></returns>         public static object GetRuntimeCache(string cacheName)         {             return HttpRuntime.Cache[cacheName];         }         /// <summary>         /// 更新插入缓存         /// </summary>         /// <param name="cacheName"></param>         /// <param name="value"></param>         /// <param name="expiresAt"></param>         public static void SetRuntimeCache(string cacheName, object value, DateTime expiresAt)         {              HttpRuntime.Cache.Add(cacheName, value, null, expiresAt,Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);         }   从Cache中取出数据示例: MongoCursor<BsonDocument> Data = HttpRuntime.Cache["KeyName"] as MongoCursor<BsonDocument>; 判断Cache中的数据是否已经过期: if (Data != null) 可以尝试把cache转成字典类 lz还没试过:http://hi.baidu.com/sainaxingxing/item/0620704738289ad6c1a592de protected void RemoveAllCache() { System.Web.Caching.Cache _cache = HttpRuntime.Cache; IDictionaryEnumerator CacheEnum = _cache.GetEnumerator(); ArrayList al = new ArrayList(); while (CacheEnum.MoveNext()) { al.Add(CacheEnum.Key); } foreach (string key in al) { _cache.Remove(key); } show(); } //显示所有缓存 void show() { string str = ""; IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator(); while (CacheEnum.MoveNext()) { str += "缓存名<b>[" + CacheEnum.Key+"]</b><br />" ; } this.Label1.Text = "当前网站总缓存数:" + HttpRuntime.Cache.Count + "<br />"+str; }

.NET

[.NET]静态类(Static)的生命周期

7. 三月 2013
参考:http://bbs.csdn.net/topics/390065743 简单的理解是iis 如果专业一点的解释: public static str{get;set;}属性其实是方法 所以这个是个静态方法它自动生成一个静态变量你想问静态变量的生命周期静态变量都是和进程同生共死的其实。NET 还有一个AppDomain(相当于进程中的子进程)的概念貌似吧一个dll从AppDomain卸载 该dll中的静态变量也会跟着挂了而吧AppDomain从进程中卸载 该AppDomain中的所有静态变量都挂了微软提成AppDomain的一个原因就是让IIS进程中可以有多个AppDomain每个AppDomain基本运行着一个网站当然你可以让每个进程都运行一个网站详情请看 CLR via C# 这本书

.NET

.Net 完整定义一个属性

7. 三月 2013
class Program { static int id; public static int Id { get { Console.WriteLine("get"); return id; } set { Console.WriteLine("set"); id = value; } } }

.NET

如何将一个IList<String> 转成String并用“,”号隔开

5. 三月 2013
如何将一个IList<String> 转成String,并用,号隔开 String.Join(",", InfoStr)

.NET

C#中List与IList的区别

5. 三月 2013
转自:http://blog.csdn.net/xuenzhen123/article/details/4739076 List<T>类:表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索、排序和操作的方法。 IList<T>接口:表示可按照索引单独访问的一组对象。 下面谈谈它们之间的区别: 首先,List<T>是一个类,IList<T>是一个接口。接口和类的区别是本质的,类是负责功能的实现,而接口则是负责功能的定义。所以它们的区别本质上也就是类和接口的区别。 具体来说,IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,那么使用IList<T>完全可以胜任。但是更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList<T>就爱莫能助了。 1、当你只想使用接口的方法时,ILis<>这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间. 2、IList <>是个接口,定义了一些操作方法这些方法要你自己去实现List <>是泛型类,它已经实现了IList <>定义的那些方法 IList <Class1> IList11 =new List <Class1>();List <Class1> List11 =new List <Class1>(); 这两行代码,从操作上来看,实际上都是创建了一个List<Class1>对象的实例,也就是说,他们的操作没有区别。 只是用于保存这个操作的返回值变量类型不一样而已。 那么,我们可以这么理解,这两行代码的目的不一样。List <Class1> List11 =new List <Class1>();是想创建一个List<Class1>,而且需要使用到List<T>的功能,进行相关操作。而IList <Class1> IList11 =new List <Class1>();只是想创建一个基于接口IList<Class1>的对象的实例,只是这个接口是由List<T>实现的。所以它只是希望使用到IList<T>接口规定的功能而已。 再举一个例子,比如你要实现一个集合类,但是你认为添加的时候要做一下判断,不能重复,你可以这样做:     //方法1:     public class MyCollection1 : List<MyItem>     {         public new void Add(MyItem item)         {             if (this.Contains(item)) return;             base.Add(item);         }     }     //方法2:     public class MyCollection2 : IList<MyItem>     {         private List<MyItem> innerList = new List<MyItem>();         public void Add(MyItem item)         {             if (this.Contains(item)) return;             base.Add(item);         }         //实现n多的方法后,附带的,有个Add方法,实现即可,实现方法略 } 如果是从List继承而来,那我如果这样写,就能跳过检查了。但是不会调用你写的Add方法,而是调用List的Add方法。 MyCollection1 mc1 = new MyCollection1(); ..... System.Collection.IList listData = mc1; listData.Add(listData[0]);   这样就不会执行你写的检查代码。但如果用下面方法,则会执行你写的Add方法:   MyCollection2 mc2 = new MyCollection2(); ..... System.Collection.IList listData = mc2; listData.Add(listData[0]); 总之,正如那些高手说的: 接口实现松耦合...有利于系统的维护与重构...优化系统流程... 鼓励使用接口 这样可以实现功能和具体实现的分离 实现接口分离的原则 不是看实际需要用的

.NET

.Net【工具类】如何根据身份证获得性别及出生日期方法

28. 二月 2013
.Net【工具类】如何根据身份证获得性别及出生日期方法 public static int GetGenderByCredNo(string CredNo) { int gender = 1; if (CredNo.Length == 15 || CredNo.Length == 18) { string val = CredNo.Length == 15 ? CredNo.Substring(14, 1) : CredNo.Substring(16, 1); if (val == "1" || val == "3" || val == "5" || val == "7" || val == "9") { gender = 0; } } return gender; } public static DateTime GetBirthDayByCredNo(string CredNo) { DateTime birthDay = DateTime.MinValue; if (CredNo.Length == 15 || CredNo.Length == 18) { string val = CredNo.Length == 15 ? "19" + CredNo.Substring(6, 6) : CredNo.Substring(6, 8); try { birthDay = DateTime.ParseExact(val, "yyyyMMdd", null); } catch { Console.WriteLine("err"); } } return birthDay; }here...

.NET

.Net判断身份证年龄是否满18岁

26. 二月 2013
  //获取输入身份证号码 string UUserCard = CertificationNo.Text.Trim(); char[] charUUserCard= UUserCard.ToCharArray(); if (charUUserCard.Length==18) { //获取出生日期 //获取年龄 DateTime myDate = DateTime.Now; int month = myDate.Month; int day = myDate.Day; int year = myDate.Year; string userYear = charUUserCard[6].ToString() + charUUserCard[7].ToString() + charUUserCard[8].ToString() + charUUserCard[9].ToString(); string userMonth = charUUserCard[10].ToString() + charUUserCard[11].ToString(); string userDay = charUUserCard[12].ToString() + charUUserCard[13].ToString(); int age = year - Convert.ToInt32(userYear) - 1; if (Convert.ToInt32(userMonth) < month || Convert.ToInt32(userMonth) == month && Convert.ToInt32(userDay) <= day) { age++; } if (age <= 18) { Hfdia.Attributes["alt"] = "开户年龄提示"; Hfdia.Value = "未满18岁不能开户"; return; } }

.NET

.net 格式化datetime

25. 二月 2013
 DateTime dt = WorkdayService.GetWorkday(Convert.ToDateTime(rc.AppTime));                      dt.ToString("yyyy-MM-dd hh:mm");     得到时间2013-02-05 00 00 00

.NET

lock语句的递归问题

18. 一月 2013
前几天在网上闲逛,无意中看到有这么一道题及其答案,如下:   根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。 publicvoid test(int i) { lock(this) { if (i > 10) { i--; test(i); } } }   答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)   当我看到这道题时,我心里只有两个答案,1、会发生死锁,2、不会。^_^说了当没说。我觉得会发生死锁的理由是:同一线程只能进入lock语句一次,如果这个线程没有退出lock语句就不能再次进入lock语句。而不会发生死锁的理由是,同一线程可以多次进入到lock语句中。   我将这段代码拷入VS中运行,发现没有进入死锁,于是想找个权威的理由来解释它,终于在《CLR via C#》第二版(中文版,清华大学出版社出版)的第530页中第7行找到了这样的描述:“同样需要引起注意的是线程可以递归拥有同步块”。即同一线程可以递归调用lock语句。

.NET, C#

c#里面什么是应用程序域?

13. 一月 2013
操作系统和运行库环境通常会在应用程序间提供某种形式的隔离。例如,Microsoft Windows 使用进程来隔离应用程序。为确保在一个应用程序中运行的代码不会对其他不相关的应用程序产生不良影响,这种隔离是必需的。应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界。应用程序域通常由运行库宿主创建,运行库宿主负责在运行应用程序之前引导公共语言运行库。

.NET

.Net 工厂模式(Factory Pattern)

9. 一月 2013
定义: 定义一个创建对象的接口,但是让子类来决定哪个类将被实例化。工厂方法让一个类实例化推迟到子类。   工厂方法模式           先来看下它的组成吧:                       抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。                       具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。在java中它由具体的类来实现。                       抽象产品角色:它是具体产品继承的父类或者是实现的接口。在java中一般有抽象类或者接口来实现。                       具体产品角色:具体工厂角色所创建的对象就是此角色的实例。public abstract class car       //抽象产品       {           public abstract void     Drive();       }       public class bens : car //具体产品1       {           public override void Drive()           {               throw new Exception("The method or operation is not implemented.");           }           }       public class bmw : car     //具体产品2       {           public override void Drive()           {               throw new Exception("The method or operation is not implemented.");           }       }       public abstract class driver     //抽象工厂       {         public abstract     car divercar();          }       public class benzdriver : driver //具体工厂1       {           public override car divercar()           {               return new bens();           }           }       public class bmwdriver : driver //具体工厂2       {           public override car divercar()           {               return new bmw();           }       }       public class test        {           public static void main()           {               driver dri = new benzdriver();               car ca = dri.divercar();               ca.Drive();                           }

.NET, C#

递归算法与优化后的算法对比(斐波那契数列)

9. 一月 2013
原文:http://developer.51cto.com/art/201202/319279.htm 前段时间看了《【面试】——反应迟钝的递归》中的三个递归算法,斐波那契数列优化后的算法思路确实不错,但是后面2个数列用递归的话,个人感觉有点得不偿失。能不用递归的话,尽量不用,因为有些算法完全可以用数学来解决。因此,本文中将这三个数列的最终算法总结如下。 1、计算数组1,1,2,3,5,8,13...第30位的值 递归算法如下: public static int CalculateFibonacciSequence(int index)           {               if (index <= 0)               {                   return 0;               }                 if (index == 1 || index == 2)               {                   return 1;               }                 return CalculateFibonacciSequence(index - 1) + CalculateFibonacciSequence(index - 2);           }  用递归算法来计算的话,有很多重复性的操作,采用数组相对来说,效率更高,最终算法如下: public static int CalculateFibonacciSequence(int index)           {               if (index <= 0)               {                   return 0;               }                 if (index == 1 || index == 2)               {                   return 1;               }                 int[] fibonacciArray = new int[index];               fibonacciArray[0] = 1;               fibonacciArray[1] = 1;                 for (int innerIndex = 2; innerIndex < fibonacciArray.Length; innerIndex++)               {                   fibonacciArray[innerIndex] = fibonacciArray[innerIndex - 1] + fibonacciArray[innerIndex - 2];               }                 return fibonacciArray[index - 1];           }  对于斐波那契数列,通用公式为Fn=F(n-1)+F(n-2)(n>=2,n∈N*),直接循环计算一次就可以获得所需的值。 2、计算1+2+3+4+...+n的值 递归算法如下: public static int CalculateNumberSequenceCount(int index)           {               if (index <= 0)               {                   return 0;               }                 return CalculateNumberSequenceCount(index - 1) + index;           }  当数字(index)很大时,用上面的递归算法肯定是有问题的,我们看下最终的算法,如下所示: public static int CalculateNumberSequenceCount(int index)           {               if (index <= 0)               {                   return 0;               }                 return index * (index + 1) / 2;           }  对于1+2+3+4+...+n,完全是高中数学的等差数列求和的一个特例。1+2+3+4+......+n等于(首项+末项)*项数/2,所以结果为n(n+1)/2 。这个完全可以不用递归来进行计算,公式套用一下就解决了。 3、计算1-2+3-4+5-6+7+...+n的值 递归算法如下: public static int CalculateNumberSequence(int index)           {               if (index <= 0)               {                   return 0;               }                 return index % 2 == 0 ? CalculateNumberSequence(index - 1) - index : CalculateNumberSequence(index - 1) + index;           }  对于1-2+3-4+5-6+7+...+n,可以分为2种情况,分别为: (1)当n是偶数时,1-2+3-4+5-6+7+...+n=(1-2)+(3-4)+(5-6)+……+[(n-1)-n] =-1×(n/2) =-n/2 (2)当n是奇数时,1-2+3-4+5-6+7+...+n=(1-2)+(3-4)+(5-6)+……+[(n-2)-(n-1)]+n =-1×(n-1)/2 +n =(n+1)/2 因此,最终的算法如下: public static int CalculateCrossNumberSequence(int index)           {               if (index <= 0)               {                   return 0;               }                 return index % 2 == 0 ? -index / 2 : (index + 1) / 2;           }  能够用数学解决的问题,尽量不要用递归来进行计算。当然,很多情况还是需要用递归的。这里并不是说递归算法不好,只能说具体问题采用最优方式来解决才是最终的方案,希望对各位有所帮助。 原文:http://www.cnblogs.com/jasenkin/archive/2012/02/22/recursion_math_algorithm_comparion.html

.NET, C#

.NET(C#)]写出程序的输出结果

9. 一月 2013
原文:http://zhidao.baidu.com/question/331778758.html public abstract class A{public A(){Console.WriteLine( 'A' );}public virtual void Fun(){Console.WriteLine( "A.Fun()" );}}public class B : A{public B(){Console.WriteLine( 'B' );}public new void Fun(){Console.WriteLine( "B.Fun()" );}public static void Main(){ A a = new B(); a.Fun();}}答案:A BA.Fun()我想知道答案的具体过程是怎样的?为什么会先输出A后输出B 最后输出A.Fun() 在类实例化时,程序会自动执行类的默认构造函数,因为B继承A,所以先执行类A的默认构造函数,然后是B。用父类实例化子类(A a=new B()),对于(a.Fun)来说,是调用的父类中的Fun函数,如果用(B a=new B()),a.Fun就会调用类B中的Fun函数,输出结果会是B.Fun。希望对你有帮助。

.NET, C#

关于SOA/CBD/AOP/OO的体会

8. 一月 2013
原文:http://blog.csdn.net/fuchunyi/article/details/847343 出差途中看了几篇AOP的文章,总算对AOP有了一个初步的了解,是一个非常不错的技术,传统编程技术无法解决的横切(CrossCutting)问题在AOP中可以得到很好的解决。简单比较一下现有的几种技术SOA/CBD/AOP/OO。SOA - Service Oriented Architecture (面向服务的架构)CBD - Component Based Development (基于构件的开发)AOP - Aspect Oriented Porgramming (面向方面的编程)OO - Object Oriented (Analysis / Design / Programming) (面向对象的分析/设计/编程) 这几种技术本质上体现的都是我们过去几十年软件开发的最佳实践经验。 1) 模块化 - 把复杂的系统(或问题)分而治之,内聚程度比较高的内容组合在一起形成模块,整个系统就是由一系列大大小小的模块所组成。跟复杂的系统相比,单个模块的粒度要小得多,便于管理和开发。这几种技术中,构件(Component)、服务(Service)就是一种对象(Object),它们的模块化概念比较一致;AOP则是解决系统中的横切问题,把横切相关的解决方案模块化在一个方面(Aspect)中。 2) 抽象 - 这几种技术都是针对某一类具有普遍性的问题提出一个通用的解决方案。但是他们的抽象层次不一样:业务流程 - Service 是在业务层面上对业务能力的一种抽象,由 Service 可以快速地组装出新的业务流程。系统架构 - Component 是构成一个系统的元素,可以是具有一定功能的子系统;从系统层面来看架构的话,类级别的对象粒度就太小了,构件的粒度比较合适。代码 - Class / Aspect 都是在代码这一级别的概念,只是两者解决问题的方法不一样。 看到过一些材村料中有用 UML 表示 AOP 概念的,需要花些时间去研究一下如何用 Visual Modeling 来表示 AOSD (Aspect Oriented Software Dvelopment)。 有兴趣了解 AOP 的话,去 www.ibm.com/developerworks/cn 搜索 AOP@Work 就可以找到很多介绍 AOP 技术的系列文章。 

.NET

关于新浪微博api返回的时间字符串的处理

7. 一月 2013
非常奇怪lz的格式是 Fri Oct 12 10:26:03 0800 2012   没办法非常格式用非常手法 自己处理 处理后返回 2012-10-10 10:10:10这样的格式 string value="Fri Oct 12 10:26:03 +0800 2012"; IFormatProvider culture = new CultureInfo("en-US", true); string[] sArray = value.Split(' '); sArray[5] = "+" + sArray[5]; string sArrayString = sArray[0] + " " + sArray[1] + " " + sArray[2] + " " + sArray[3] + " " + sArray[5] + " " + sArray[6]; DateTime dt = DateTime.ParseExact(sArrayString, "ddd MMM dd HH:mm:ss zzz yyyy", culture); time = dt.ToString("yyyy-MM-dd HH:mm:ss");

.NET, C#

有一个酒吧卖酒,有一次来了一个叼酸的顾客来买酒他只要6L酒,而他们店每桶酒是12L,问酒吧如何才能一点不多一点不少的卖6L酒给顾客,酒吧有一个8L和5L的容器。

28. 十二月 2012
8的容器装满倒满5容器里5容器倒回大瓶8容器剩下3千克倒进5容器里8容器继续装满然后倒满5容器剩下就是6千克了关于编程实现:1.不满足条件时while循环2.数组中的数字实现加减用来代替水的流动3.一但满足条件后终止循环。  

.NET

【.NET】根据oauth授权机制获得新浪微博的coder然后模拟Post请求获得AccessToken

10. 十二月 2012
PhoneGap安卓 交流 QQ 群 250395324欢迎您的加入 获得新浪微博AccessToken的步骤是这样的 参考:http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E 1.首先让用户对你的APP进行授权获得一个code 例如:点击下面链接授权后在url上会获得一个code参数 https://api.weibo.com/oauth2/authorize?client_id=3431190291&display=mobile&response_type=code&redirect_uri=http://www.cfxixi.com2.将这个code发往服务器接口,服务器接收到code后执行下载文件中的代码返回AccessToken(或者直接在服务器那边拿到Token后进行微博API的各项操作)   代码示例:   [csharp] view plaincopy   HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.weibo.com/oauth2/access_token");                request.Method = "POST";                request.ContentType = "application/x-www-form-urlencoded;";                request.Headers.Add(string.Format("Authorization: key={0}", "123456"));                string postData = "client_id=123456";             postData += ("&client_secret=123456");             postData += ("&grant_type=authorization_code");             postData += ("&redirect_uri=http://www.cfxixi.com");             postData += ("&code=123456");                byte[] byteArray = Encoding.UTF8.GetBytes(postData);                request.ContentLength = byteArray.Length;                Stream dataStream = request.GetRequestStream();                dataStream.Write(byteArray, 0, byteArray.Length);                dataStream.Close();                      //發出Request                WebResponse response = request.GetResponse();                Stream responseStream = response.GetResponseStream();                StreamReader reader = new StreamReader(responseStream);                string responseStr = reader.ReadToEnd();                reader.Close();                responseStream.Close();                response.Close();   Demo下载: http://www.cfxixi.com/showtopic-383.aspx

.NET, 新浪微博

DiscuzNT如何设置显示的帖子数

4. 十二月 2012
后台-界面-界面与显示方式-每页主题数

.NET, 系统运维

.Net發出Http post请求

30. 十一月 2012
    //.Net發出Http post请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send"); request.Method = "POST"; request.ContentType = "application/json;charset=utf-8;"; request.Headers.Add(string.Format("Authorization: key={0}", "123456")); string RegistrationID = deviceId; //row["RegistrationID"].ToString(); var postData = new { data = new { message = message, //message這個tag要讓前端開發人員知道 msgcnt = "brand-20120616102338435" }, registration_ids = new string[] { RegistrationID }, message = message }; string p = JsonConvert.SerializeObject(postData);//將Linq to json轉為字串 byte[] byteArray = Encoding.UTF8.GetBytes(p);//要發送的字串轉為byte[] request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); //發出Request WebResponse response = request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream); string responseStr = reader.ReadToEnd(); reader.Close(); responseStream.Close(); response.Close();  

.NET, C#

【C# .Net】HttpPostedFile类对象转成byte[]类型

25. 十一月 2012
废话少说,代码示例(input就是我们所要的结果):                     HttpPostedFile MyFile = current.Request.Files["aaa"]; int FileLen; Stream MyStream; FileLen = MyFile.ContentLength; byte[] input = new byte[FileLen]; // Initialize the stream. MyStream = MyFile.InputStream; // Read the file into the byte array. MyStream.Read(input, 0, FileLen);

.NET, C#

DateTime格式大全

25. 十一月 2012
原文:http://blog.csdn.net/liuxingbin/article/details/6170817 DateTime dt = DateTime.Now;//    Label1.Text = dt.ToString();//2005-11-5 13:21:25//    Label2.Text = dt.ToFileTime().ToString();//127756416859912816//    Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816//    Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25//    Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日//    Label6.Text = dt.ToLongTimeString().ToString();//13:21:25//    Label7.Text = dt.ToOADate().ToString();//38661.5565508218//    Label8.Text = dt.ToShortDateString().ToString();//2005-11-5//    Label9.Text = dt.ToShortTimeString().ToString();//13:21//    Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25//     2005-11-5 13:30:28.4412864//    Label1.Text = dt.Year.ToString();//2005//    Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00//    Label3.Text = dt.DayOfWeek.ToString();//Saturday//    Label4.Text = dt.DayOfYear.ToString();//309//    Label5.Text = dt.Hour.ToString();//13//    Label6.Text = dt.Millisecond.ToString();//441//    Label7.Text = dt.Minute.ToString();//30//    Label8.Text = dt.Month.ToString();//11//    Label9.Text = dt.Second.ToString();//28//    Label10.Text = dt.Ticks.ToString();//632667942284412864//    Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864//    Label1.Text = dt.ToString();//2005-11-5 13:47:04//    Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04//    Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04//    Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04//    Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04//    Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04//    Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05//    Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10//    Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04//    Label10.Text = dt.CompareTo(dt).ToString();//0////    Label11.Text = dt.Add(?).ToString();//问号为一个时间段//    Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False//    Label2.Text = dt.Equals(dt).ToString();//True//    Label3.Text = dt.GetHashCode().ToString();//1474088234//    Label4.Text = dt.GetType().ToString();//System.DateTime//    Label5.Text = dt.GetTypeCode().ToString();//DateTime   //    Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25//    Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06//    Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月//    Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日//    Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05//    Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05//    Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日//    Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日//    Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06//    Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06//    Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT     Label1.Text =   string.Format("{0:d}",dt);//2005-11-5    Label2.Text =   string.Format("{0:D}",dt);//2005年11月5日    Label3.Text =   string.Format("{0:f}",dt);//2005年11月5日 14:23    Label4.Text =   string.Format("{0:F}",dt);//2005年11月5日 14:23:23    Label5.Text =   string.Format("{0:g}",dt);//2005-11-5 14:23    Label6.Text =   string.Format("{0:G}",dt);//2005-11-5 14:23:23    Label7.Text =   string.Format("{0:M}",dt);//11月5日    Label8.Text =   string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT    Label9.Text =   string.Format("{0:s}",dt);//2005-11-05T14:23:23    Label10.Text = string.Format("{0:t}",dt);//14:23    Label11.Text = string.Format("{0:T}",dt);//14:23:23    Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z    Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23    Label14.Text = string.Format("{0:Y}",dt);//2005年11月    Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23    Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);

.NET, C#

C#上传byte类型图片到数据库

24. 十一月 2012
http://blog.csdn.net/xiaoguang44/article/details/8217821

.NET, C#

.NET WCF序列化或反序列化一个json

22. 十一月 2012
序列化代码 1.首先定义数据模型: [DataContract] public class CheckoutObj { [DataMember(Order = 0)] public string MolecularWeight { get; set; } [DataMember(Order = 1)] public string MolecularFormula { get; set; } [DataMember(Order = 2)] public string AlogP { get; set; } [DataMember(Order = 3)] public string LogD { get; set; } [DataMember(Order = 4)] public string PSA { get; set; } [DataMember(Order = 5)] public string Pka { get; set; } [DataMember(Order = 6)] public string RulesOf5 { get; set; } [DataMember(Order = 7)] public string Heteroatoms { get; set; } [DataMember(Order = 8)] public string HeavyAtoms { get; set; } [DataMember(Order = 9)] public string Canonical_SMILES { get; set; } [DataMember(Order = 10)] public string NumHAcceptors { get; set; } [DataMember(Order = 11)] public string NumHDonors { get; set; } [DataMember(Order = 12)] public string ADMETAqueousSolubility { get; set; } [DataMember(Order = 13)] public string TOPKAT_Ames_Mutagenicity { get; set; } [DataMember(Order = 14)] public string TOPKAT_Develop_Tox_Potential { get; set; } 然后调用的时候: var serializer = new DataContractJsonSerializer(typeof(CheckoutObj)); var mStream = new MemoryStream(Encoding.UTF8.GetBytes(uploadOptions)); CheckoutObj qry = (CheckoutObj)serializer.ReadObject(mStream); 如此便可将一段json实例化成一个对象   2.反序列化 假设有一段json string response = "{\"a\":\"Yes\",\"b\":284.74022," + "\"c\":\"C16H13CIN2O\",\"d\":\"3.171\"," + "\"LogD\":[3.171],\"PSA\":32.67,\"pKa\":\"[2.82,2.9]\"," + "\"Heteroatoms\":4,\"Heavy_Atoms\":20," + "\"Canonical_Smiles\":\"CN1C(=O)CN=C(c2cccccc2)c3cc(CI)ccc13\"," + "\"Num_H_Acceptors\":2,\"k\":0,\"g\":-4.605," + "\"z\":\"25.402497048119\",\"f\":-11.1414303108788}"; 同理定义一个序列化需要的model,同上略   然后附上反序列化的代码: string dataString = HttpUtility.UrlDecode(response); string ds = dataString.Substring(dataString.IndexOf("{")); var mStream1 = new MemoryStream(Encoding.UTF8.GetBytes(ds)); var serializer1 = new DataContractJsonSerializer(typeof(OutPut)); OutPut outPut = (OutPut)serializer1.ReadObject(mStream1);

.NET, C#

visual studio中简单调用一个soap wcf

13. 十一月 2012
1.首先部署你要调用的soap wcf2.在你的项目中添加服务引用如图:3.然后在代码中对服务实例化并调用其中的一个soap wcf的(GetData)方法:ServiceReference1.Service1Client client=new Service1Client();            string bbb = client.GetData(ccc);如此便可在你项目中使用wcf了

.NET, WCF

C#客户端的异步操作

24. 十月 2012
转自:http://www.cnblogs.com/fish-li/archive/2011/10/23/2222013.html

.NET