文档章节

『C#基础』一些零碎东西的记录(持续更新)

灰大羊
 灰大羊
发布于 2016/07/05 10:12
字数 812
阅读 8
收藏 0
  1. Application.DoEvents();
    1. 使用参考:
      1. http://www.cnblogs.com/VOIP/archive/2010/12/08/1900497.html
      2. http://hi.baidu.com/bitlove/blog/item/cc66f2d4f64b07cf51da4ba1.html
    2. 说明:
      1. Processes all Windows messages currently in the message queue.「MSDN
      2. 处理现在在消息队列中的Windows消息
      3. 当我们打开一个Winform时,Winform就开始侦听我们的操作,也就是侦听事件。而如果我们处理一个很消耗时间的方法,就会产生假死的情况。这个时候,如果我们使用 DoEvents 方法,我们就可以让程序继续侦听我们对程序的其他操作事件,也就是说,就不会出现假死的情况。
      4. 使用这人方法的好处显而易见,但,如果我们在编码的时候不注意控制对正在执行操作的变量进行了重新赋值的话,就会造成一定的危险。
  2. 设计模式中的六个原则
    1. 参考文章:
      1. http://blog.csdn.net/httphttpcn/article/details/6079004
    2. "开-闭"原则
      1. 可以扩展,不可以修改
    3. 依赖倒转原则
      1. 高层模块不应该依赖底层模块
      2. 抽象不应该依赖细节,细节应该依赖抽象
    4. 里氏代换原则
      1. 子类型必须能够替换它们的父类型
    5. 单一职能原则
      1. 就一个类而言,应该仅有一个引起他变化的原因
    6. 迪米特法则
      1. 低耦合,高内聚
    7. 接口隔离法则
  3. switch分支的使用
    1. 如果你想用 int 或者 string 等类型的数据来进行方法的结果返回,那么你最好是使用switch而不是 if 来接收结果,这样更便于可能的扩展,也更好理解。
    2. 注意case的顺序,尽量将最可能出现的结果放到前面,而不是 0~9 A~Z 这样的顺序。
    3. case 中的 break 并不是必须的,必须的是当前条件的结束,也就是说return,break, continue 等会跳出当前代码块的理论上说,都是可以的。
  4. 通信中,数据格式的选择
    1. 使用JSON等数据格式,可以让传输的数据更为明确,也不用担心传过去的字段多于需要的。
    2. 使用直接拼接的方式,可以让传输的数据最小,但是确会造成扩展性差的缺点。
  5. 委托
    1. .NET中的事件就是委托最好的例子。
    2. 可以使用委托的方式给对象添加事件触发时调用的处理方法。
  6. Annotation
    1. .NET中的Annotation貌似叫Attribute,类中的属性叫Property。
    2. 参考链接:
      1. 「MSDN」http://msdn.microsoft.com/en-us/library/System.Attribute.aspx
      2. http://jhxk.iteye.com/blog/481730
      3. http://www.gnu.org/projects/dotgnu/pnetlib-doc/System/Attribute.html
  7. C# MD5
    MD5FileStream get_file = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
    System.Security.Cryptography.MD5CryptoServiceProvider get_md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
    byte[] hash_byte = get_md5.ComputeHash(get_file);
    string resule = System.BitConverter.ToString(hash_byte);

     


    2012年2月29日


    1. Asp.NET等服务器端程序可以使用Server.MapPath(“…”)来针对服务器端的目录进行操作。
    2. Winform可以使用System.Windows.Forms.Application.StartupPath来获取当前程序运行目录。
    3. 可以使用Path.Combine( …,…)来合并两个字符串为一个路径。
    4. 可以使用AppDomain.CurrentDomain.SetupInformation.ApplicationBase来获取当前程序运行目录。
      1. 这个与StartupPath有所不同,这个可以用在Asp.NET等服务器端,而StartupPath不可以用在服务器端(会提示一个路径包含非法字符的错误)。

    © 著作权归作者所有

    灰大羊
    粉丝 4
    博文 96
    码字总数 95147
    作品 0
    浦东
    项目经理
    私信 提问
    【杂谈】程序员在工作期间如何对自己进行深造

    前言 众所周知,我们的工作存在下面几个特点 工作时间长 工作压力大 大部分时间处于劳动密集型,累人 部门沟通繁琐,累心 由于我们每天大部分时间都是在工作,所以一直会担心,怎么不断深造。...

    diandianxiyu
    2017/12/27
    0
    0
    IjkMediaPlayer.reset()耗时的一个解决方案

    本文主要记录一些零碎的东西 使用IjkMediaPlayer 播放音乐时,快速点击切换播放的音乐,会出各种问题,本文给出一个修复方案,仅仅个人测试OK。 ijkplayer地址:https://github.com/Bilibili...

    i_do_can
    2017/05/22
    0
    0
    一些杂感杂想(三)打理业余时间的一点个人心得

    2017年拍摄于云南大理洱海双廊 关于写博客 我在上一篇《一些杂感杂想(二)谈谈天天写业务代码的焦虑及该怎么办的问题》里提了一下写博客的事,对于很多人来说,没有好的文字功底或者觉得自己技...

    Dunizb
    2018/10/30
    0
    0
    闲言碎语

    不是说书本本身有多么了不起,而是读书这个行为意味着你没有完全认同这个现世和现实,你还有追求,还在奋斗,你还有不满,你还在寻找另一种可能,另一种生活方式。 @2017/11/25 Be patient a...

    代码君的自白
    2017/10/15
    0
    0
    Python logging 库的『完整教程』

    前言 本文的标题是『完整』。所谓『完整』,大意是想表达:提炼出一组最小的经验组合,并且能够快速应用于工程中,能 work,甚至能完美地 work。这篇文章就是想要做到『如何能完美地work』。...

    浮生若梦的编程
    2018/10/30
    0
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    基础工具类

    package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

    architect刘源源
    今天
    43
    0
    P30 Pro劲敌!DxO官宣新机:排行榜又要变

    5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

    linux-tao
    昨天
    15
    0
    Ubuntu18.04.2窗口过小不能自适应(二次转载)

    解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

    tahiti_aa
    昨天
    2
    0
    死磕 java同步系列之CountDownLatch源码解析

    问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

    彤哥读源码
    昨天
    6
    0
    Nginx提供下载apk服务

    有时候我们可能需要提供文件或者其他apk下载链接,通过 nginx 配置可以很简单地实现。 server {    listen 80;    server_name download.xxx.com;    root app;    locati...

    Jack088
    昨天
    4
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    返回顶部
    顶部