
C#基础
微雨燕双飞
学无止境
展开
-
C# 中符号的作用
~ 按位求补符;! 非逻辑运算符;% 求余运算符;^ 异或位运算符;& 且位运算符;| 或位运算符;* 既可以用作乘法符号,还可以表示为指针;+ 表示数学运算符相加;= 用来表示赋值操作;\ 用于转义符的开始,如\n表示换行;” 包裹原创 2011-10-18 21:24:30 · 1350 阅读 · 0 评论 -
Byte[]字节反转
最近在写一个短信下发功能,客户端使用c#和java的短信网关的进行网络通信。之前使用java进行开发,一切正常,改用c#无法收到网关应答。想了半天意识到是不是网络字节序问题,java默认就是大端字节序,和网络字节序是一至的,所以不转换也不会有问题,而c#在windows平台上是小端字节序。网络发送字节流是按大端序发送,也就是从左到右发送,和c#的小端序相反,造成网关不能正常识别原创 2013-12-09 16:26:33 · 15854 阅读 · 0 评论 -
C#中的virtual、override、static
C# 是面向对象的程序设计语言,每一个函数都属于一个类。 当一个方法被声明为Static时,这个方法是一个静态方法,编译器会在编译时保留这个方法的实现。也就是说,这个方法属于类,但是不属于任何成员,不管这个类的实例是否存在,它们都会存在。就像入口函数Static void Main,因为它是静态函数,所以可以直接被调用。 当一个方法被声明为Virtual时,它是一个虚拟方法,直原创 2014-02-12 11:29:05 · 815 阅读 · 0 评论 -
CSVReader 处理CSV文件(.NET)
在c#中读取csv文件可以使用OLEDB当作数据库来读取,或者一行行的读取,然后使用正则表达式进行解析。使用oledb一般情况下也比较方便,但是效率不是很好,特别是csv文件很大的情况下。如果一行行的读取,对数据字段进行拆分是个难题,一般情况下使用英文逗号就可以了,但是很多情况下字段的内容也都包含了逗号,还有可能一条数据要占用多行。今天推荐一个别人封装好的csv读取类库:CSVReader,可以快转载 2014-08-19 18:10:35 · 1886 阅读 · 1 评论 -
C#变量定义中含问号的用法
class MainClass { static int? GetNullableInt() { return null; } static string GetStringValue() { return null; }原创 2011-10-20 09:59:21 · 1471 阅读 · 1 评论 -
C#格式化字符串大全
DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期。以下把一些情况罗列出来,供大家参考。有些在MSDN上有的就没有列出来了。1.y代表年份,注意是小写的y,大写的Y并不代表年份。2.M表示月份。3.d表示日期,注意D并不代表什么。4.h或H表原创 2012-05-30 12:34:23 · 2677 阅读 · 1 评论 -
C#格式化字符串大全
1、格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20)默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数string.Format("{0:C1}",23.15) 结果为:¥23.2 (截取会自动四舍五入)格式化多个O原创 2014-09-29 11:34:46 · 1073 阅读 · 0 评论 -
SqlBulkCopy(批量导入)使用方法
SqlBulkCopy提供了一种将数据复制到Sql Server数据库表中高性能的方法。SqlBulkCopy 包含一个方法 WriteToServer,它用来从数据的源复制数据到数据的目的地。 WriteToServer方法可以处理的数据类型有DataRow[]数组,DataTable 和 DataReader。 你可以根据不同的情形使用不同的数据类型。SqlBulkCopy其原理是采用了SQL原创 2014-09-30 16:20:24 · 2251 阅读 · 0 评论 -
C#对象XML序列化(序列化方法和常用特性)
C#对象XML序列化(一):序列化方法和常用特性原创 2014-10-10 14:58:44 · 2122 阅读 · 0 评论 -
C#集合类详解,Hashtable、Dictionary、SortedList、SortedLi、Array、ArrayList、List、Stack、SortedDictionar
集合类概述集合类具有以下特点:集合类定义为 System.Collections 或 System.Collections.Generic 命名空间的一部分。大多数集合类都派生自 ICollection、IComparer、IEnumerable、IList、IDictionary 和IDictionaryEnumerator 接口以及它们的等效泛型接口。使用泛翻译 2014-11-25 11:20:23 · 1298 阅读 · 0 评论 -
获取路径的所有方法
System.IO.PathWinFormApplication.ExecutablePath; Application.StartupPathAsp.net获取当前应用程序的跟目录(物理路径)AppDomain.CurrentDomain.BaseDirectory//获取网站虚拟目录Request.ApplicationPathSystem.Web.原创 2011-10-28 16:16:23 · 1706 阅读 · 0 评论 -
C# List和String互相转换
List转字符串,用逗号隔开List list = new List();list.Add("a");list.Add("b");list.Add("c");//MessageBox.Show(list.);//LoadModel();string s = string.Join(",", list.ToArray());MessageBox.Show(s);原创 2015-06-12 15:45:27 · 19586 阅读 · 0 评论 -
.net 反射的奥妙
反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等程序集内部的信息。使用反射可以看到一个程序集内部的接口、类、方法、字段、属性、特性等等信息。在System.Reflection命名空间内包含多个反射常用的类,下面表格列出了常用的几个类。类型作用Assembly通过此类可以加载操纵一个程序集,并获取程序集内部信息Eve原创 2014-02-27 15:42:15 · 858 阅读 · 0 评论 -
对像集合使用过程中的一些总结
1. 设计可比较大小的对像 2. 针对数组元素的查询与转换 3. 针对对像集合的标准查询 1.设计可比较大小的对像众所周知,数值型变量之间可以直接比较大小 如: Int i=100; Int j=100; Console.Writeline(i>j); //输出false 之所以可以比较两个整型变量的大小,是因为在数学上两个整数之间转载 2013-09-27 16:07:56 · 1201 阅读 · 0 评论 -
C#中一些特殊符号
\n ------------------------- 换行\r ------------------------- 回车\t ------------------------- 制表符\b ------------------------- 退格\f --------原创 2011-10-18 21:23:43 · 7554 阅读 · 1 评论 -
C#中的equals与==的比较
在任何语言中,String都无疑是非常特殊的一种数据类型。C#中也是如此。string是System.String的alias。alias用using声明,用法如下using[alias=]class_or_namespace;2string是个独特的基本数据类型,它是基本数据类型中唯一的引用类型。作为基本数据类型,字符串可以声明为常量,但是却放在堆中。原创 2011-10-29 17:16:28 · 925 阅读 · 0 评论 -
C# ListBox的使用和操作
实现选项的选择(单选,多选,全选(移除))初始化ListBoxprotectedvoid InitListBox() { ArrayList arrlist = newArrayList(); arrlist.Add("星期一"); arrlist.Add("星期二"原创 2011-10-31 10:31:55 · 5571 阅读 · 0 评论 -
C#获取汉字拼音
using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace Ctr.Common.Tools{ /// /// 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的 ///原创 2011-11-21 18:21:05 · 1097 阅读 · 0 评论 -
C#如何高效读取EXCEL文件
http://zhidao.baidu.com/question/58725229.htmlhttp://blog.youkuaiyun.com/jaguar1982/archive/2005/01/11/248246.aspx2010-03-12 | ASP.NET读取EXCEL文件的三种经典方法 (其中,64位操作系统上使用第二种com组件方式) 标签: 64位操作系统上 读取EXCEL文件原创 2011-11-02 18:48:48 · 5751 阅读 · 1 评论 -
C#中的除法和四舍五入运算
C#中的除法和四舍五入运算1.除法运算当你使用以下代码:double d = 3/6;Console.WriteLine(d);时,得到的结果会是0,而不是你期望的0.5此时C#将3当作整数来处理了,结果它也会返一个整数。所以,你应该将这一句改为double d = 3.0/6;或者double d = Convert.toDouble(原创 2011-11-11 12:02:13 · 11416 阅读 · 0 评论 -
Dll 加密
.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。我大致的方法为 :强签名+混淆+加密。强签名强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。强签名很简单,本站另一文章已经翻译 2011-12-03 11:42:28 · 8273 阅读 · 1 评论 -
Virtual 与 abstract 区别
1.abstract方法只能在抽象类中声明,虚方法则不是。 abstract方法必须在派生类中重写,而virtual则不必2.abstract方法不能声明方法实体, abstract public void SD(); 虚方法则可以 public virtual void sdf() { Console.W原创 2012-03-16 09:00:23 · 692 阅读 · 0 评论 -
byte[] string相互转换
byte[] byteArray = System.Text.Encoding.Default.GetBytes( str ); string str = System.Text.Encoding.Default.GetString( byteArray );System.Text.UnicodeEncoding converter = new System.Text.Un原创 2012-07-25 11:33:35 · 2698 阅读 · 0 评论 -
C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对原创 2012-08-16 16:26:13 · 703 阅读 · 0 评论 -
C#语言特性列举
一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型 隐式类型的出现, 程序员就不用再做这个工作了。 (2)使用方法转载 2013-05-04 16:41:22 · 924 阅读 · 0 评论 -
c#各版本-新特性
=====================================c#5.0========================================支持null类型运算 int? x = null; case支持表达式 以前case里只能写一个具体的常量,而现在可以加表达式了 C#5.0两个新加的关键字async, await,异步处理更简化 =====...原创 2018-10-28 10:39:41 · 191 阅读 · 0 评论