c sharp
文章平均质量分 50
dianxer
这个作者很懒,什么都没留下…
展开
-
TextReader中的peek和read的区别
1 peek/read都是读取下一个字符 2 peek/read都是返回ascii码 3 peek方法调用后指针还是指向原来的字符,但是read调用后指向下一个。 所以以下方法,如果用peek是死循环,用read则正常string text = "hello hello";TextReader tr = new StringReader(text);whil原创 2010-01-14 23:30:00 · 1969 阅读 · 0 评论 -
Show和ShowDialog的区别
<br />ShowDialog,<br />模式对话框。有自己的消息循环。<br /> <br />Show<br />非模式对话框。 没有消息循环。主线程结束,则窗体自动关闭。<br />MSDN的解释就是Show等价于设置control的visible属性为true;<br /> <br />例如<br /> <br />class Program{ static void Main(string[] args) { SplashForm.ShowDial原创 2010-08-14 22:29:00 · 808 阅读 · 0 评论 -
实例初始化简单写
.Net3之后,微软提供了实例初始化,设置属性的简单写法。废话不多,看下面两段等价代码。Public class SaveError{ public bool IsRetry { get; private set; } public bool IsIgnore { get; private set; } public bool IsSave { get { return FileName != null; } } public string FileName { get; private原创 2010-08-16 00:14:00 · 333 阅读 · 0 评论 -
动态的类型转换
TypeConvert,TypeDescriptorprivate void DynamicConvert(object source,out T target){ //string转换为任意类型 if(source is string) { TypeConvert tc = TypeDescriptor.GetConvert(source); target = tc.ConvertFromInvariantString(o.toString()); } //任意类原创 2010-08-16 15:10:00 · 1388 阅读 · 0 评论 -
C#中的接口继承
1 类实现接口,需要一模一样的继承接口中所有方法的属性。包括可见性,动态性等例如public interface LogginService{ void Debug(object message); void DebugFormatted(string format, params object[] args); bool IsDebugEnabled{get;}}public class TextWriterLoggingService{ public void Debug原创 2010-08-14 14:43:00 · 398 阅读 · 0 评论 -
问题-记录下
<br />namespace Pos.BinessLayer{ public class ServiceFactory { public static Proxy OrderProxy =new Proxy(new OrderService(new OrderHeader())); public static Proxy MenuProxy = new Proxy(new MenuService(new MenuFlock(), new List原创 2010-08-28 02:05:00 · 369 阅读 · 0 评论 -
关于资源文件的读取
<br />1. GetManifestResourceStream<br /> <br />Typeof(ClassName).Assembly.GetManifestResrouceStream(Namespance.foldname.filename)<br /> <br />Namespace is the default namespace of the project which can be found in the properties of the project <br /> <br原创 2011-03-29 16:13:00 · 318 阅读 · 0 评论 -
Hashcode, Equal和Dictionary
<br />。。。原创 2011-03-30 11:09:00 · 290 阅读 · 0 评论 -
C#中的Lambda 表达式 => 和匿名表达式 var
http://msdn.microsoft.com/zh-cn/library/bb397687.aspx原创 2011-04-20 11:45:00 · 414 阅读 · 0 评论 -
WPF 中的Command, 接口System.Windows.Input.ICommand
<br />http://msdn.microsoft.com/en-us/library/ms752308.aspx原创 2011-04-20 16:11:00 · 1306 阅读 · 0 评论 -
TreeView中的DrawDefault属性
如果设置了TreeView的DrawMode = TreeViewDrawMode.OwnerDrawText;则需要设置DrawDefault = True 表示有操作系统来绘制如果DrawDefault = False, 则需要在OnDrawNode事件中程序绘制。例如原创 2011-04-27 07:03:00 · 452 阅读 · 0 评论 -
问题列表
<br />1. Application.SetCompatibleTextRenderingDefault(false); 表示所有的control都是用gdi+做text rending. 什么是gdi+,和gdi的区别。<br />原创 2011-03-24 22:47:00 · 259 阅读 · 0 评论 -
XAML 自定义 namespace
XMLPrefixXMLDefinition原创 2012-02-25 00:04:32 · 388 阅读 · 0 评论 -
指针及数组内存变化详解1
int _tmain(int argc, _TCHAR* argv[]){char in; puts("hello world\n");printf("%d%d\n",sizeof(int),sizeof(char*));int intarray[5];intarray[3]=1049215;intarray[4]=1;printf("%d\n",intarra原创 2012-03-04 16:13:21 · 480 阅读 · 0 评论 -
c中的内存分配
code sniper.int MemSwap(void *vp1,void *vp2,int size){ if(vp1 == NULL || vp2 == NULL) { return -1; } char *tempVp = (char*)malloc(size); memcpy(tempVp,vp1,size); memcpy(vp1,vp2,size);转载 2012-03-06 00:09:07 · 712 阅读 · 0 评论 -
midl : error MIDL2398 : cannot execute MIDL engine
和这个作者的经历一模一样。就转了。在C盘下真的有一个Program的文件,不知道怎么回事情。今天vs2010编译,莫名其妙的出现“midl : error MIDL2398 : cannot execute MIDL engine”的错误。查了整整一个晚上,发现居然是个相当蛋疼的bug。为了帮助未来同样苦逼的你迅速解决问题,我先把解决方案说下。如果这个方案还是无转载 2012-05-22 17:36:47 · 5678 阅读 · 0 评论 -
关于ActiveX
1. 用CABARC.EXE 打包cab文件,出错。 cab文件总是无法下载到ie的设置目录 (Internet Option -> setting - check object)2. 用VS新建Project,生成cab文件,成功。cab文件下载到上面的目录。但是每次打开ie都会提示下载activeX, 有两个地方需要检查a classid, 要使用类上面的calss原创 2012-05-23 17:57:00 · 592 阅读 · 0 评论 -
一些小技巧
1 C#中的form不显示右上角的放大/缩小/关闭按钮,form.controlbox = false2 c#中的对话框不在任务栏中显示。设置属性showintask = false.3 话空间的边框 controlpaint.drawboard(e....), 使用e.graphics.drawboard,无法实现。4 CheckForIllegalCrossThreadCal原创 2010-04-15 01:27:00 · 500 阅读 · 0 评论 -
uncheck关键字
C#中uncheck是用来减少编译器对整型数字运算或者转换后结果的溢出检测,但如果运算前就是溢出,则uncheck无效。 例如uncheck{ int i =10000000*100000000;} 结果-1530494976,编译器不报错 uncheck{ int i =100000000000*100000000;} 编译报原创 2010-01-15 00:26:00 · 452 阅读 · 0 评论 -
C#中的各种collection 按钮
ArrayList - 1 实现了IList接口,并且大小是动态增长。2 里面数据不排序,在操作一些需要排序的操作,例如binarysearch,需要先进性排序。3 增加1个,capacity=4,增加5个,capacity = 8...4 允许Null/重复数据/不同类型的数据 NamedValueCollectionkey/value pair的原创 2010-01-11 16:43:00 · 343 阅读 · 0 评论 -
关于模式设计
1 静态代理 public interface methodinterface { void function (); //默认为public}//外用应用程序调用此类,只负责调用public static class Service{ public void function () { methodfactory.MI.functi原创 2010-01-15 01:05:00 · 346 阅读 · 0 评论 -
开始C#的征程
由于一个项目的需要,最近开始新看c sharp,oracle的进程将会被拖慢。 c sharp的语法和很多的API都大大借鉴了JAVA和C++,为了快一点的熟悉C#,现在边看语法,边阅读好的源代码。 sharpdeveloper是一个开源的IDE,也是我准备阅读的一个源代码原创 2009-12-14 23:38:00 · 450 阅读 · 0 评论 -
c#中的一些基本知识 - 待补充
1 主函数的返回值会传送到环境变量%ERRORLEVEL% 2 string 的format int a = 5;string s = string.format ("this is {0}",a); 3 支持foreach的类,需要实现接口IEnumerator原创 2009-12-20 16:28:00 · 264 阅读 · 0 评论 -
c#中的静态变量
1 静态构造函数 public class staticex{ private static int staticVa; static staticex(){ staticVa = 5;}} 特点1 静态构造函数在实例被new之前或者任意静态方法/静态变量被调用之前发生2 只执行一次3 一个类只能有一个4 无publi原创 2009-12-21 00:43:00 · 411 阅读 · 0 评论 -
c#中的类访问修饰符
public --- 无新意private --- 无新意protected -- 无新意internal -- 同一个执行文件(exe)或者类库dll中的类可访问protected internal -- 故名思意 C#中的类属性的get/set方法可以有单独的访问修饰符,如public string property1{ get {return p原创 2009-12-21 00:54:00 · 248 阅读 · 0 评论 -
c#中的二级修饰符 - 常量,readonly
Const修饰,初始化一次,无法改变 public class constClass{ public const string constVa= "this is a const"; public constClass() { constVa = "this is not a const" //编译错误}} 也可以在函数中声明constpublic原创 2009-12-21 01:10:00 · 492 阅读 · 0 评论 -
c# 中的delegate - 未完成
其实就是一个变相的函数指针,帮助类在函数内调用另外一个类的函数。剧烈 public class lib{ public delegate void beforeInvoke(); public void Invoke(beforeInvoke BeforeInvoke){ beforeInvoke(); console.write(...原创 2009-12-20 08:15:00 · 278 阅读 · 0 评论 -
c#中的system.collection
1 主要接口ICollection: count(总数),copyTo(Array,Index)IDictionary: Add/Remove/Clear/contains方法,this[key],ICollection Keys,ICollection Values 属性, IDictionaryEnumerator GetEnumerate方法IDictionaryEnume原创 2009-12-21 16:02:00 · 1024 阅读 · 0 评论 -
c#中的virtual/override/abstract
virtual/override 组队出现 1 基类中加virtual, 子类需要加override,表示继承,孙子类也可以加override. 2 子类中如果使用sealed override就表示孙子类无法继承 Abstract 1 使用abstract修饰类,表示类无法实例化 2 abstract类可以包含实现的方法。 3 abs原创 2009-12-21 12:30:00 · 337 阅读 · 0 评论 -
c#中的exception handle
1 exception的基类为system.exception, 类的成员介绍Data: -- key/value的集合,自定义exception 信息,默认为空 helplike - exception的url 可写innerException - 引起此exception的前exception 只读message - exception的文本描述 只读原创 2009-12-21 13:28:00 · 1404 阅读 · 0 评论 -
c# - 类库
[SerializableAttribute][ComVisibleAttribute(true)][ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]public class Object 1 public virtual bool Equels (Object)2 public static bool static Equ原创 2009-12-24 15:36:00 · 559 阅读 · 0 评论 -
c# 的namespace以及assembly
1 NameSapce 1 1个namespace里面可以有多个类2 namespace和cs文件是多对多的关系。3 调用另一个namespace的声明,可以使用using ,然后直接调用类名,或者使用namespace.类名来调用4 namespace支持别名(alias) using namespace = namespace.classname,如using my原创 2009-12-25 16:49:00 · 6786 阅读 · 0 评论 -
C#的late binding
1 类System.Activator 声明: [ClassInterfaceAttribute(ClassInterfaceType.None)][ComVisibleAttribute(true)]public sealed class Activator: _Activator 主要用来远程或者本地依据Type创建实例,或者获得远程实例的引用。 Creat原创 2009-12-28 10:48:00 · 922 阅读 · 0 评论 -
c#中的Reflection
1 用工具Ildasm查看dll/exe.Typedef: 表示定义 - 类的定义TypeRef: 表示引用,引用其他的类AssemRef:表示引用其他的assembly 2 System.Reflection namespaceAssembly : 用来加载,操作,探查assembly文件Assembly Name: 查询assembly的唯一标志,如版本号等原创 2009-12-27 12:43:00 · 2081 阅读 · 0 评论 -
C#中的process/AppDomain/Object Context
1 System.Diagnostics namespace下的Process相关的类 Process - 提供远程和本地process的入口,并支持开启/关闭processProcessModule - 表示一个已经加载到process的module(exe或者dll),支持任何com based/.net/传统c的文件ProcessModuleCollection原创 2009-12-29 07:49:00 · 908 阅读 · 0 评论 -
动态变量名
int getValue(string wl) { FieldInfo fi=this.GetType().GetField("a"+wl ,BindingFlags.NonPublic|BindingFlags.Instance ); if(fi==null) throw(new Exception("can原创 2010-03-14 22:37:00 · 307 阅读 · 0 评论