C#
nuistchn
谦,诚,勤,敏,勇
展开
-
登山-C#-事件
以前也断断续续看过关于C#的事件的知识,长时间不用忘记了,总结下来还是自己学习得不够深刻,不能有自己的理解。这次静下心来仔细学了一下,有了一些自己的理解,记录一下。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks原创 2016-02-16 16:26:52 · 399 阅读 · 0 评论 -
登山c#-datetime说明
#region 程序集 mscorlib.dll, v4.0.0.0// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll#endregionusing System.Globalization;using System.Runtim转载 2016-11-09 19:46:39 · 878 阅读 · 0 评论 -
登山-C#-获得年份月份,检验TextBox输入的是否为数字,将字符串转数字控制小数点精度,ComboBox DropDownList形式下设置初始值
1.获得目前的年份和月份。这个比较常用,在打印标签时候。常常需要将生成日期之类的信息打印出来。C#中获得目前的年份和月份的方式int year = DateTime.Now.Year;int month = DateTime.Now.Month;2.TextBox中输入的字符只含有数字字符using System.Text.RegularExpressions;Rege原创 2016-06-21 20:25:24 · 567 阅读 · 0 评论 -
登山-C#-两个小知识点,字符串补全,在TextBox中捕获回车键
呵呵了,这两个知识点是挺小的,但是实用,在编程过程中说不定就遇到了。比如字符串补全问题,这个在编写一些固定格式的程序时就会遇到,比如条码中包含固定的五位流水码,不足位数补0,这时候就用到了字符串补全。很简单,string有一个PadLeft方法,比如serialno.ToString().PadLeft(5,'0');这样就达到目的了,不足五位用0补全。第二个知识点也是可能遇到的,比如原创 2016-06-20 21:54:33 · 2305 阅读 · 0 评论 -
登山-C#-对密码进行加密存储
由于明文存储密码会有很大的风险,所以一直想用加密的方式进行存储。看了网上一些文章后,决定选择MD5加随机salt的方式进行加密。基本的思想就是在创建用户是随机产生一个salt字符串。然后用密码拼接salt字符串,然后用MD5对拼接后的字符串进行加密存入数据库,这样就可以避免明文存储,而且这样别人破解的成本会很大,基本无破解的意义。 /// /// 对原创 2016-06-20 21:30:12 · 3511 阅读 · 2 评论 -
登山-C#-字符串转时间,时间转字符串,sql中字符串转时间
在实际编程中发现一个问题。从DataGridView的单元中取出的值为字符串"2016/5/5",作为一个参数传入了一个查询语句中。如下select * from XX_file where XX01=@eid and XX02=@date。其中XX02在数据库中为日期,格式为2016-05-05 00:00:00.000一开始将"2016/5/5"传进去之后,发现报错,string不原创 2016-05-05 19:41:42 · 1022 阅读 · 0 评论 -
登山-C#-DataGridView显示行号
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) { try { e.Row.HeaderCell.Value = string.Format("{0}",原创 2016-05-05 19:07:01 · 510 阅读 · 0 评论 -
登山-C#-加载Excel档案
工作上需要用C#去加载Excel档案,于是去网上搜方法。看到了一篇文章,是加载Excel后返回一个DataSet类型。于是也照写了一个。原创 2016-05-05 18:49:25 · 363 阅读 · 0 评论 -
登山-C#-为枚举创建新方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace EnumTest{ public enum Grades { F = 0, D = 1, C = 2, B = 3, A = 4 }; public static class Exten翻译 2016-03-22 18:15:13 · 428 阅读 · 0 评论 -
登山-C#-enum类型基础
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace EnumTest{ class Program { //枚举类型的定义,通常默认为int类型,可以通过第二种方式指定另一种整数值类型。 //枚举支持的类型有翻译 2016-03-22 16:23:32 · 377 阅读 · 0 评论 -
登山-C#-DataGridView在不使用数据库时,实现增加删除操作,在Row上右击可以编辑或删除
先把代码贴上,后面再编辑using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;n原创 2016-03-10 17:08:18 · 1131 阅读 · 0 评论 -
登山-C#-自定义特性
自定义特性的格式[FieldName(“SocialSecurityNumber”)]//等价于[FieldNameAttribute(“SocialSecurityNumber”)]publicstring SocialSecurityNumber{get{//etc.自定义特性格式的组成部分1.自定义特性放置在[]-中括号之中。2.自定义特性对应的名称F原创 2016-02-24 14:36:30 · 449 阅读 · 0 评论 -
登山-C#-关于TcpListener的AcceptTcpClient()方法造成线程阻塞,进而程序无法彻底关闭的问题
在《C#高级编程》第7版第24章,有提到使用TCP类。书中写了一个实例,两个winform,其中一个点击按钮发送字符串,另一个winform进行接收。这个实例有个缺点,只能接收一次。我将这个实例进行了改造。第一版做好后,可以进行接收和发送,但是出现一个问题,就是在关闭程序后,在电脑的任务管理器中看到还有进程在跑。进行了一些尝试后改了第二版,终于解决了这个问题。看一眼这个程序原创 2016-03-05 16:05:12 · 14536 阅读 · 0 评论 -
登山-C#-var关键字,dynamic关键字和类型强制转换之间的区别
var关键字与dynamic关键字定义的对象区别在于,dynamic的对象可以在运行期间改变其类型。在试用var关键字时,对象类型的确定会延迟,但是类型一旦确定,就不能改变。动态对象的类型是可以改变的,而且可以改变多次。dynamic对象与强制类型转换之间的差异在于,强制转换对象的类型时,是用另一种兼容的类型创建一个新对象。不能将int类型强制转换为Person对象但是如果对象时动态对象,就可原创 2016-02-17 15:45:59 · 5322 阅读 · 0 评论 -
登山-C#-IFormattable之自定义string的现实格式
C#中string是比较特别的。值得注意。在讨论到string时自然少不了提及到格式化现实的话题,以前都是看中各个书中讲解如何将string按特定的格式输出,今日来研究一下自定义string的格式进行输出。此处借《C#高级编程》中的一段代码:using System;using System.Collections.Generic;using System.Linq;using原创 2016-02-17 15:03:13 · 735 阅读 · 0 评论 -
登山-C#-再讨论事件,理清事件和委托的关系,理清EventHandler<T>和传统事件的关系
以前在写程序时,总是稀里糊涂的用着委托和事件,但总是不能很清楚的理清出他们之间的关联,只是知道事件是建立在委托的基础上的。之前也写过一篇关于事件的文章,现在看来太浅了,只是依葫芦画瓢,知道怎么去用而已,而却不知道所以然。其中的一些细节也没有注意到,现在看看是比较肤浅的。今天再花点时间彻底搞清楚他们之间的关系。 在接触事件这个概念时,经常被绕晕,什么delegate,event,Ev原创 2017-03-01 13:46:00 · 465 阅读 · 1 评论