文章分类 -  C# 知识积累

摘要:PropertyInfo.Attributes 属性此属性表示与成员关联的特性。所有成员都具有相对于特定成员类型定义的特性集。属性特性使用户能够知道此属性是否是默认属性、SpecialName属性等等。若要获取Attributes属性,请先获取类类型。从 Type 获取PropertyInfo。从PropertyInfo获取特性。官方示例:获取类的特性using System;using System.Reflection;public class Myproperty{ private string caption = "Default caption"; public 阅读全文
posted @ 2013-12-11 14:25 邹邹 阅读(1416) 评论(0) 推荐(0)
摘要:DES加密应该是最基础的加密算法,为了搞清楚它在.NET C#里面的用法,我费了不少功夫,希望有心人能看到。DES一共就有4个参数参与运作:明文、密文、密钥、向量。为了初学者容易理解,可以把4个参数的关系写成:密文=明文+密钥+向量;明文=密文-密钥-向量。为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复,那么这个词加上密钥形成的密文,仍然会重复,这给破解者有机可乘,破解者可以根据重复的内容,猜出是什么词,然而一旦猜对这个词,那么,他就能算出密钥,整篇文章就被破解了!加上向量这个参数以后,每块文字段都会依次加上一段值,这样,即使相同的文字,加密出来的密文,也是不一样的,算法的安全性大大 阅读全文
posted @ 2013-12-09 14:23 邹邹 阅读(10299) 评论(0) 推荐(0)
摘要:SMTP(Simple Mail Transport Protocol)简单邮件传输协议。在.NET Frameword类库中提供SmtpClient类(System.Net.Mail),她提供了一个轻型方法来发送SMTP电子邮件信息。SmtpClient类中的Bcc属性是用来指定此电子邮件抄送的收件人的集合,这就意味着可以为每个邮件制定多个收件地址。Attachmenty属性也是一个集合,可以使用它为邮件添加多个附件。发送邮件中用的其他类主要还有1.Attachment类,表示文件附件,它允许将文本、流、文件附加到电子邮件中。2.MailAddress类,表示邮件地址。3.MailMessa 阅读全文
posted @ 2013-12-09 10:23 邹邹 阅读(1276) 评论(0) 推荐(0)
摘要:CultrueInfo保存区域特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。该类还提供对 DateTimeFormatInfo、NumberformatInfo、CompareInfo和TextInfo的区域性特定实例的访问。这些对象 包含区域性特定操作(如大小写、格式化日期时间和数字以及比较字符串)所需的信息。 部分区域性名称和标识符:区域性名称区域性标识符语言-国家/地区ar0x0001阿拉伯语ar-EG0x0C01阿拉伯语 - 埃及zh-CN0x0804中文 - 中国zh-CHS0x0004中文(简体)zh-TW0x0404中文 - 台湾zh-CHT0x7C04中文(繁 阅读全文
posted @ 2013-12-06 15:08 邹邹 阅读(2476) 评论(0) 推荐(0)
摘要:可以使用以下方法之一来创建现有字符串的新版本,这些新版的字符串通过添加指定数量的空格实现右对齐或左对齐。新字符串既可以用空格(也称为空白)进行填充,也可以用自定义字符进行填充。方法名使用右对齐并填充字符串,以使字符串最右侧的字符到该字符串的开头为指定的距离。左对齐并填充字符串,以使字符串最右侧的字符到该字符串的结尾为指定的距离。PadLeftString.PadLeft方法创建一个新的字符串,该字符串是右对齐的,以便其最后一个字符到该字符串的第一个索引处为指定数量的空白。如果未使用重写(它允许指定自己的自定义填充字符),则会插入空白。以下示例使用PadLeft方法来创建一个总长度为二十个空格的 阅读全文
posted @ 2013-12-05 16:53 邹邹 阅读(7926) 评论(0) 推荐(1)
摘要:StreamWriter类 实现一个TextWriter,使其以一种特定编码向流中写入字符原型: [SerializableAttribute] [ComVisibleAttribute(true)] public class StreamWriter : TextWriter默认使用UTF8Encoding的实例,不是线程安全的看一下构造函数原型:StreamWriter(Stream) 用其所长UTF-8编码及缓冲区大小,为指定的流初始化StreamWriter类的一个新实例. StreamWriter(String) 使用默认编码和缓冲区大小,为指定路径上的指定文件初始化StreamWr 阅读全文
posted @ 2013-12-05 16:42 邹邹 阅读(272) 评论(0) 推荐(0)
摘要:一 流的概念 在.NET中Stream是所有流的抽象基类。流是字节序列的抽象概念,或者说是计算机在处理文件或数据时产生的二进制序列。例如文件、输入/输出设备、内部进程通信管道或者TCP/IP 套接字。Stream类及其派生类提供这些不同类型的输入和输出的一般视图,使程序员不必了解操作系统和基础设备的具体细节。简单的说流提供了不同介质之间的数据交互功能。在.NET中常用的流有BufferedStream 、FileStream、MemoryStream和NetworkStream,他们都是位于System.IO和System.Net命名空间下。流涉及三个基本操作:读取,写入和查找。根据基础数据源 阅读全文
posted @ 2013-12-05 16:39 邹邹 阅读(399) 评论(0) 推荐(0)
摘要:一、 ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。 阅读全文
posted @ 2013-12-05 15:00 邹邹 阅读(198) 评论(0) 推荐(0)
摘要:初见 string.Format("{0,-10}", 8)做 .net 开发也若干年了,如此写法(下面代码中黄色高亮部分)确是我第一次见(更别提用了):var s1 = string.Format("{0,-10}", 8);var s2 = string.Format("{0,10}", 8);var s3 = string.Format("{0,20:yyyy-MM-dd}", DateTime.Today);var s4 = string.Format("4G 内存便宜了{0,12:C2},我打算 阅读全文
posted @ 2013-12-05 14:40 邹邹 阅读(381) 评论(0) 推荐(0)
摘要:以前在用ASP.NET 做B/S系统时,可以方便地在GRIDVIEW DATAList等数据控件中,使用自定义的代码逻辑,比如使用 这样的调用, GetBalance()为在codebehind类中定义的方法;在WPF应用程序中有时也有类似的需求,比如数据库表Teacher中有一个字段 Title ,int 类型,取值为1-5,分别对应讲师 研究员 高工 副教授 教授 。在wpf窗口中需要直接显示 讲师 研究员 类似的文字,而不是一个1-5的数字,从界面设计的角度,用文字来表示职称是最自然的方式。因此在数据绑定的时候需要将整数转换为对应的文本职称。 但是WPF没有象ASP。NET那样的绑定表. 阅读全文
posted @ 2013-12-05 14:34 邹邹 阅读(152) 评论(0) 推荐(0)
摘要:提供一种将自定义逻辑应用于绑定的方式。命名空间: System.Windows.Data程序集: PresentationFramework(在 PresentationFramework.dll 中) 语法 Visual Basic(声明) Public Interface IValueConverterVisual Basic (用法)Dim instance As IValueConverterC#public interface IValueConverterVisual C++public interface class IValueConverterJ#public interfa 阅读全文
posted @ 2013-12-05 14:26 邹邹 阅读(686) 评论(1) 推荐(0)
摘要:C#中Trim()、TrimStart()、TrimEnd()的用法: 这三个方法用于删除字符串头尾出现的某些字符。Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。TrimStart()只删除字符串的头部的空格。TrimEnd()只删除字符串尾部的空格。 如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArray())就是删除字符串头部及尾部出现的a或b或c或d字符,删除的过程直到碰到一个既不是a也不是b也不是c也不是d的 阅读全文
posted @ 2013-12-05 14:14 邹邹 阅读(164) 评论(0) 推荐(0)
摘要:你或许知道你能使用String.Trim方法去除字符串的头和尾的空格,不幸运的是. 这个Trim方法不能去除字符串中间的C#空格。stringtext="Mytest\nstring\r\nis\tquitelong"; stringtrim=text.Trim(); 这个'trim' 字符串将会是: "My test\nstring\r\n is\t quite long" (31 characters) 另一个清除C#空格方法是使用 String.Replace 方法, 但是这需要你通过调用多个方法来去除个别C#空格:stringtr 阅读全文
posted @ 2013-12-05 14:12 邹邹 阅读(210) 评论(0) 推荐(0)
摘要:Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比... 阅读全文
posted @ 2013-12-05 13:46 邹邹 阅读(197) 评论(0) 推荐(0)
摘要:XDocument 是管理内存中 XML 所有功能的模型!与 XmlDocument 和 XPathNavigator 不同,它擅长构建 XML 内容。XmlDocument 使 XML 构建不必太复杂,而 XPathNavigator 则完全不支持。 如果要以非线性的方式生成 XML ,例如需要把一系列元素写入根元素,然后又要在这些元素里添加更多的信息,就必须使用 XDocument 这样的内存类。与 XmlDocument 非常相似,但有一个区别,在 LINQ to XML 模型里,特性没有被看做单独的节点而是被看做附加到其他元素的 名称/值 对。从技术层面而言,XDocument 是 . 阅读全文
posted @ 2013-12-05 13:29 邹邹 阅读(1085) 评论(0) 推荐(0)
摘要:在程序中常会有这样的代码。多了可能会影响效率。Dictionary dict = new Dictionary();...........if (dict.ContainsKey(key)){Value value = dict[key];}看来没有什么问题。但是在实际项目中,这种代码一般会写在底层的class中。它被调用的次数 相当大时,需要优化。MS.Net2.0如何实现:public class Dictionary : IDictionary, ICollection>, IEnumerable>, IDictionary, ICollection, IEnumerable 阅读全文
posted @ 2013-12-05 13:21 邹邹 阅读(859) 评论(0) 推荐(0)
摘要:在dataTable中最容易想到的是用for循环来操作,但事实不到万不得已是不会用form循环的,因为效率一般不高。1) 取行取行一般用rowfilterDataTable datSource;//数据源表//过滤表DataView davTemp = new DataView(datSource, "过滤条件", "排序字段", DataViewRowState.各种 状态);//把过滤后的表赋给新表DataTable datNew = davTemp.ToTable();2)取表的某列或多列DataTable datSource;//数据源表Data 阅读全文
posted @ 2013-12-02 13:45 邹邹 阅读(137) 评论(0) 推荐(0)
摘要:C#遍历指定文件夹中的所有文件DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);DirectoryInfo[] dirInfo = TheFolder.GetDirectories();//遍历文件夹foreach(DirectoryInfo NextFolder in dirInfo)this.listBox1.Items.Add(NextFolder.Name);FileInfo[] fileInfo = TheFolder.GetFiles();//遍历文件foreach(FileInfo NextFile in file 阅读全文
posted @ 2013-11-27 16:42 邹邹 阅读(170) 评论(0) 推荐(0)
摘要:返回此节点的 XML,还可以选择禁用格式设置。System.Xml.Linq程序集:System.Xml.Linq(在 System.Xml.Linq.dll 中)语法C#public string ToString( SaveOptions options)参数options类型:System.Xml.Linq.SaveOptions一个指定格式设置行为的SaveOptions。成员名称说明None序列化时对 XML 进行格式设置(缩进)。DisableFormatting序列化时保留所有无关紧要的空白。返回值类型:System.String一个包含 XML 的String。XElem... 阅读全文
posted @ 2013-11-27 16:19 邹邹 阅读(434) 评论(0) 推荐(0)
摘要:1.可选参数 可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代。class Program { /// /// 可选参数 命名参数 /// static void Main(string[] args) { Console.WriteLine(ShowComputer()); Console.WriteLine(ShowComputer("P5300","1G")); Co... 阅读全文
posted @ 2013-11-27 16:09 邹邹 阅读(156) 评论(0) 推荐(0)