- 博客(51)
- 收藏
- 关注
转载 C#问号(?)知多少?
在C#中有个较为重要,而常被一些人忽视的符号——问号(?)。在这里整理一下它在C#的几种情况:1. 可空类型修饰符“T?”。(我承认先前我确实不知道,也不常用)可空类型的基础类型可以是任何非可空值类型或任何具有struct约束的类型参数,但不能是可空类型或引用类型。例如:int? 代表是可空的整形,而 int??则是无效类型。即可空类型可以表示其基础类型的所有值和一个额外的空值。语法T
2012-01-12 15:57:04
429
转载 C#索引器
索引器概述索引器使得对象可按照与数组相似的方法进行索引。get 访问器返回值。set 访问器分配值。this 关键字用于定义索引器。value 关键字用于定义由 set 索引器分配的值。索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。索引器可被重载。索引器可以有多个形参,例如当访问二维数组时。C#语言一个最令人感兴趣的地方就是类的索引器(indexer
2011-12-22 17:31:06
302
转载 c#中通过值和引用传递参数(downmoon)
c#中通过值和引用传递参数(downmoon)在 C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。若要通过引用传递参数,请使用ref 或 out 关键字。为简单起见,本主题的示例中只使用了 ref 关键字。有关 ref 和 out 之间的差异的信息,请参见、使用 ref 和 out 传递数
2011-12-22 16:39:02
433
转载 c#学习体会:使用 ref 和 out 传递数组(downmoon)
c#学习体会:使用 ref 和 out 传递数组(downmoon),希望与大家分享1、与所有的 out 参数一样,在使用数组类型的 out 参数前必须先为其赋值,即必须由接受方 为其赋值。例如: public static void MyMethod( out int [] arr){ arr = new int
2011-12-22 16:38:15
364
转载 C#学习之接口
什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。 声明接口 声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账
2011-12-22 16:36:11
258
原创 初步学习“C#中的结构(struct)”
在这里说的结构不是指的C#的语言结构.这里所说的是一种与类(class)相对的东西.下面的这个例子讲述了如何建立一个具有属性,方法和一个字段的结构.并讲述如何使用他. // Structs/struct1.csusing System;struct SimpleStruct{ private in
2011-07-01 15:51:00
259
转载 初步学习“C#中的结构(struct)”
在这里说的结构不是指的C#的语言结构.这里所说的是一种与类(class)相对的东西.下面的这个例子讲述了如何建立一个具有属性,方法和一个字段的结构.并讲述如何使用他. // Structs/struct1.csusing System;struct SimpleStruct{ private in
2011-07-01 15:51:00
244
转载 MySQL 中文显示乱码
最近关于中文显示乱码的贴子比较多,所以也做了个总结:可以参考一下杨涛涛版主的《各种乱码问题汇总》http://topic.youkuaiyun.com/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.htmlMySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charse
2011-07-01 15:39:00
257
转载 C#与NET实战 第七章 反射、后期绑定与attribute 节选
我们在2.2.2节曾讨论过元数据(metadata)以及它在程序集中的物理存储方式。本章将会看到它们是如何构成反射与attribute机制的基础的。7.1 反射反射机制代表了在执行期一个程序集的类型元数据的使用。通常情况下,该程序集是在另一个程序集执行的时候被显式载入的,不过它也可以被动态生成。反射这个词用于表明我们使用了一个程序集的映像(就像镜子中的映像)。该映像由程序集的类型元数据
2011-06-28 20:03:00
935
转载 在多线程中如何调用Winform
每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个消息泵循环(message pump loop)来执行的。消息循环都必须有一个相对应的线程,因为发送到一个window的消息实际上只会被发送到创建该window的线程中去。其结果是,即使提供了同步(synchronization),你也无法从多线程中调用这些处理消息的方法。大多数
2011-06-28 14:50:00
326
转载 Oracle 和 MYSQL区别
最近在在学习数据库,用到了ORACLE和MYSQL,其中ORACLE我在过去的工作中稍有接触,对于ORACLE也只是刚摸到门路,而对于MYSQL只是听说他是一个开源项目,基本上算是没接触过。这段时间二个数据库一起使用,难免会出现操作中混乱,我在这里大致归纳下我遇到最常见的问题。 1.在ORACLE中用select * from all_users显示所有的用户,而在
2011-06-16 16:49:00
301
转载 Excel 文件二进制结构分析
序我对 Excel 文件结构的学习研究,也是最近才开始。只是好奇,拿出改游戏的劲头与手段,一点点的啃。发觉似乎有不少人也对该文件格式感兴趣。只是很可惜,我找不到能力足够、并且愿意一起共享心得体会、共同学习的同道。一人独行,自然倍感寂寞,兴趣的火花也就时燃时灭;再加上我人比较懒,工作忙,也难以抵御外界的种种诱惑,比如娱乐、游戏、小说等等,所以,火花也就灭的时候居多。这里就先请读者原谅,打
2011-06-03 16:51:00
2833
转载 C#操作Excel文件(读取Excel,写入Excel)
<br />< type="text/JavaScript"> alimama_pid="mm_10249644_1605763_4929893"; alimama_titlecolor="0000FF"; alimama_descolor ="000000"; alimama_bgcolor="FFFFFF"; alimama_bordercolor="E6E6E6"; alimama_linkcolor="008000"; alimama_bottomcolor="FFFFF
2011-05-31 19:06:00
525
转载 在 C# 中通过 P/Invoke 调用Win32 DLL
<br />下载本文的代码: NET0307.exe (133KB) <br />我在自己最近的编程中注意到一个趋势,正是这个趋势才引出本月的专栏主题。最近,我在基于 Microsoft® .NET Framework 的应用程序中完成了大量的 Win32® Interop。我并不是要说我的应用程序充满了自定义的 interop 代码,但有时我会在 .NET Framework 类库中碰到一些次要但又繁絮、不充分的内容,通过调用该 Windows® API,可以快速减少这样的麻烦。<br /
2011-05-30 21:44:00
249
转载 经典推荐--.NET几大热点问题(.NET人员必读)
以下收集了关于.NET几大热点问题及简要答案,防止我们回答问题不专业的尴尬。同时还将一些.NET资源的相关网址罗列一二。<br /><br /> 一.什么是.Net?它主要包括什么? <br /> .Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。 <br /> .Net主要包括普通语言运行时(Common Language Runtime)和.Net构架类库。 <br /><
2011-05-30 17:47:00
334
转载 Visual Studio调试之断点技巧篇
函数断点在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我讲了如何设置函数断点,说实话,我个人喜欢设置函数断点,而不是在代码行里面设置断点。一般来说,函数断点在下面几种情形下有用:1. 例如调试一个网站程序,你通过分析网站的日志发现最有可能发生错误的函数,打开调试器并将调试器附加到程序上去,设置函数断点,重新执行网站……这样做的好处是,不用到处打开源文件去找出错的源代码行,调试器会自动打开源代码,并且在函数的入口处中断(岂不是很方便?)。 2.
2011-05-30 17:27:00
761
转载 Visual Studio调试之断点进阶篇
在上一篇文章Visual Studio调试之断点基础篇里面介绍了什么是断点,INT 是Intel系列CPU的一个指令,可以让程序产生一个中断或者异常。程序中如果有中断或者异常发生了以后,CPU会中断程序的执行,去一个叫做IDT的部件查找处理这个中断(或者异常)的例程(Handler)。IDT是操作系统在启动的时候初始化的,至于IDT的细节问题,例如什么是IDT,怎样编写一个IDT的例程,怎样 初始化IDT,可以去网上搜索一些资料。总之,这里我们只要知道,CPU在执行程序指令过程中,碰到INT 3中断
2011-05-30 17:24:00
912
转载 Visual Studio调试之断点基础篇
<br />我曾经问过很多人,你一般是怎么调试你的程序的?<br />F9, F5, F11, F……<br />有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序;知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序。在网上看到很多人介绍Windbg的用法,但是没有看到几篇讲解使用Visual Studio调试的文章。Windbg固然强大,但是问题是它的学习曲线太陡了
2011-05-30 17:17:00
658
转载 继续:.NET中栈和堆的比较之三-四
今天将这系列的文章转载完,希望对感兴趣的朋友有所帮助!.NET中栈和堆的比较三原文出处<br />http://www.c-sharpcorner.com/UploadFile/rmcochran/chsarp_memory401152006094206AM/chsarp_memory4.aspx<br />尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(Garbage Collection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理
2011-05-25 16:35:00
294
转载 转载:深入了解.NET中堆和栈的比较--二
<br />看到这么多朋友对于这系列文章的赞同,决定将这系列文章转载过来,方便更多的朋友加深对.net核心基础的理解……<br /> .NET中栈和堆的比较 #2<br />原文出处:<br />http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory2B01142006125918PM/csharp_memory2B.aspx<br />尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(Garbage
2011-05-25 16:34:00
316
转载 转载:一篇深入了解.NET中栈和堆较好的文章
<br />这是我在深入了解.NET中栈和堆的比较时发现的一篇文章,作者将国外一牛人的随笔翻译了过来,见解深刻,想深入了解栈堆关系的朋友不妨好好研究一下…… <br />原文地址:http://www.cnblogs.com/c2303191/articles/1065675.html<br />文章正文: <br />入栈(压栈)=执行方法中的指令.NET中栈和堆的比较 #1<br />原文出处: <br />http://www.c-sharpcorner.com/UploadF
2011-05-25 16:33:00
226
转载 理解AppDomain
<br /><br />现在是虚拟机时代了,Java称作JVM(Java 虚拟机),.NET称作 FrameWork(框架)。对照着两个体系,当中有很多异同,不过我感兴趣的是.NET中称作“AppDomain”(应用程序域)的东东。这个概念如何准确的理解,对于.NET开发来讲有何意义?使用它需要注意些什么?<br /> <br />微软的.NET文档中appDomain的解释相当简略(却不是很清楚J): “一个应用程序在其中执行的独立环境”。为执行托管代码提供隔离、卸载和安全边界。到底如何理解呢?我想是不是
2011-05-25 15:31:00
315
转载 关于运行库安全策略的一些资料
<br />http://blog.youkuaiyun.com/2303191/archive/2007/05/22/1621510.aspx<br /> <br />8. 代码访问安全(Code Access Security)<br />8.1 什么是代码访问安全(CAS)?<br />CAS是.NET安全模型的一个组成部分,它决定某段代码是否允许执行,以及它在运行时可以使用什么样的资源。例如,CAS可以防止.NET Web小程序(applet)格式化你的硬盘。 <br />8.2 CAS的工作机理是怎样的?<b
2011-05-24 21:59:00
385
转载 .NET面试题 - 4
<br />Q1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? <br />答:Property用来封装类的成员,可以通过逻辑限制对成员的读写及可访问性。而Attribute是一种标记类,通过反射获取Attribute信息可以获得一个类的部分特性。 <br /> <br />Q2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml? <br />答:Web Service通过SOAP协议(本质是XML数据
2011-05-24 21:18:00
393
转载 .NET面试题 - 3
<br />1. ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释。 <br />答:有三种,分别是集成Windows身份验证,表单Forms验证以及Passport,Forms验证是最常用的一种。 <br /> <br />2. 什么是WEB控件?使用WEB控件有那些优势? <br />答:实现了System.Web.UI.WebControls这个命名空间的一些类。包括像ASP.NET服务器端控件,用户控件及自定义控件等。使用控件提高了复用性,可以获得更好的开发效率。 <br /> <
2011-05-24 21:17:00
389
转载 .NET面试题 - 1
<br />1. 面向对象的思想主要包括什么? <br />答: 继承,多态,封装,类,对象,接口,聚集,聚合,泛化 <br /> <br />2. 什么是ASP.net中的用户控件 <br />答: 用户控件就是使用.ascx作为扩展名的文件,其将多种服务器端控件组合在一起,作为一个单独的控件服务于页面。这种用户控件存在的问题如,将其拖到不同级别的目录下后里面的图片等的相对路径会变得不准确。需要自已写方法调整。 <br /> <br />3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装
2011-05-24 21:16:00
282
转载 .NET面试题 - 2
<br />这一部分简单整理了一些我在网上遇到的面试题中不是很熟悉的部分,简单起见直接把答案列在题目后方。 <br /> 表征数据传输可靠性的指标是误码率。 关于广义表的叙述中正确的是广义表是0个或多个单元素或子表组成的有限序列。二叉树的对称序遍历即指中序遍历。 根据XML注释生成文档的编译选项是/doc 判断字符串是否为空最快的方法是str.Lenght == 0 <br /> <br />staticvoid Main() <br />{ <br />int i = 2000; <br
2011-05-24 21:16:00
331
转载 .NET面试题 – ASP.NET开发人员
<br />本文大部分问题分析来源自网络,加上部分个人的部分。所有引用表明出处,或直接以网址形式给出。如有不正确支持望及时指出!谢谢! <br />ASP.NET(UI)开发人员 阐述一个基于浏览器的Form POST如何变成一个服务器端的事件,如Button1_OnClick。 <br />对于这个问题看Artech大哥的此文http://www.cnblogs.com/artech/archive/2007/04/06/702658.html足以 什么是PostBack? <br />PostBac
2011-05-24 21:15:00
1376
转载 一份C++面试题(个别有答案)
<br />单选 <br />1. Win32下的线程的哪一个优先级最高?()<br />A. THREAD_PRIORITY_HIGHEST B. THREAD_PRIORITY_IDLE <br />C. THREAD_PRIORITY_TIME_CRITICAL D. THREAD_PRIORITY_ABOVE_NORMAL <br /> <br />2. 下面四个选项中,哪一个不是WinMain函数的参数?() <br />A. HINSTANCE
2011-05-24 21:14:00
367
转载 .NET面试题 – 组件开发人员 & XML开发人员
<br />C#组件开发人员 什么时候使用override?什么时候使用new? 什么叫shadowing? <br />重写父类的方法的时候用override以实现多态,当你想屏蔽父类成员的时候使用new,shadowing基本就是new与override区别等一些方面的问题,个人认为弄清override与new就没有必要特意考虑shadowing。 解释virtual、sealed、override和abstract的区别? <br />virtual是声明虚方法的关键字,说明该方法可以被重写,seal
2011-05-24 21:13:00
240
转载 .Net面试题 - 高级
<br />1. DateTime.Parse(myString); 这段代码有什么问题?<br />A:区域信息即CultureInfo没有指定。如果不指定的话,它将采用默认的机器级的设置(见:控制面板->区域和语言选项)并使用这个设置来决定这个字符串即myString怎样被解释。所以如果你传入“5/2/2005”且你的区域设置为En-US,则它会被解释为May 2nd 2005,但是如果你的区域设置为Hindi-India,则它会被解释为5th Feb 2005!<br />参考下面的代码示例:
2011-05-24 21:12:00
652
转载 .NET 面试题 - 初级&中级
<br />初级.NET开发人员 - 任何使用.NET的人都应知道的<br />1. 描述线程与进程的区别?<br />进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。进程可以定义程序的一个实例,但它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,这个线程即为主线程,默认程序的工作都在这个主线程中完成,可以通过程序创建多个线程,使多个线程可以同时运行(多CPU支持下),这就是多线程技术。<br />线程(Thread
2011-05-24 21:11:00
671
转载 .Net学习难点讨论系列11 - foreach与迭代器
<br />(本文主要整理于ASP.NET2.0开发指南部分内容) <br />在.NET 1.1中要使一个自定义的集合类可以与foreach一起工作,我们需要实现IEnumerable接口的GetEnumerator方法。该数据集合中的元素需要实现IEnumerator接口。我们直接看下面这个例子: <br />publicclassPersons : IEnumerable <br />{ <br />publicstring[] m_Names; <br />public Persons(
2011-05-24 21:09:00
399
转载 .Net学习难点讨论系列10 - 匿名方法,Lambda表达式及其对局部变量的影响
<br />匿名方法是C# 2.0中简化委托模型的一种语法糖。Lambda表达式是C# 3.0新增的语法特性,其在匿名方法的基础上更进一步,但其本质都是相同的,我们通过一段代码来分析对比这个语言特性。它们分别是在C#2.0与C# 3.0中的主要写法。 <br />delegatevoidDelWithoutParam(); <br />delegatevoidDelWithParams(int intparam, string strparam); <br />delegatestringD
2011-05-24 21:08:00
445
转载 .Net学习难点讨论系列9 -泛型类型参数的约束 泛型方法
<br />使用C#的泛型时,在泛型类型的方法或者泛型方法中可能会使用到类型参数的类型的对象的方法、属性或成员,这时候这个类型可能并不存在要使用的方法等。这种情况下就会缺少类型安全。为了改变这种情况,可以对类型参数设置约束。 <br />设置约束的另一个作用是在编辑及编译时,使用约束后可以享受具体类型的智能感知及强类型支持。否则将只是object级的智能感知。这条说起来可能比较抽象,看一下下面这个例子: <br /> <br />如上图所示 ,在不指定类型参数约束的情况下,只可以在object级提供智能
2011-05-24 21:07:00
587
转载 .Net学习难点讨论系列8 - 泛型字典类比较
<br />近日在网上看到一篇介绍泛型集合类的文章,总结的比较经典,要作者网名iceboy,原文地址失效,可参见此处,原文使用VB.NET2005描述,我将其整理为C#版,转发在此处,留作学习之用。 <br />[转] Dictionary<TKey,TValue>, SortedDictionary<TKey,TValue>, SortedList<TKey,TValue>横向评测<br /> <br />Dictionary<TKey,TValue>、SortedDictionary<TKey,TV
2011-05-24 21:06:00
472
转载 .Net学习难点讨论系列6 - .Net中对字符串处理的方法
<br />此文章在aierong 的http://www.cnblogs.com/aierong/archive/2005/04/26/145617.html基础上稍加改动。感谢原作者。 <br />.Net提供了将数值、枚举或日期时间等数据类型表示为字符串的方法(依赖于给ToString()方法传入参数),也提供了(包括自定义解析过程)将字符串表示为某种类型的方法(类/对象名.Parse(string))。 <br />格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值;或者怎样将
2011-05-24 21:05:00
314
转载 .Net学习难点讨论系列7 - .NET委托补充
<br />1.日补充 <br />近日开始读园子炒得比较热的王翔老师的新作,初看第一章内容比较对我口味,委托中还有很多不懂的,顺手记了下来。 <br />预备知识 <br />Delegate中的静态方法 <br />Delegate.CreateDelegate()方法 <br />在一般情况下,我们直接调用委托的构造函数来生成一个委托对象,但有些情况下我们需要使用CreateDelegate()静态方法来创建一个指定类型的委托实例。此方法有多种重载,见下表(摘自MSDN): <br />名称 <b
2011-05-24 21:04:00
483
转载 .Net学习难点讨论系列5 – 线程同步问题之二
<br />接上篇文章,来说一下托管代码包装Windows内核对象完成线程同步的方法 <br />Windows提供的用于同步的内核对象包括:互斥体、信号量和事件。CLR中System.Threading命名空间下的WaitHandle类(抽象基类)完成了对这些内核对象的包装,包装内核对象在托管方式下实现同步的类也自然都继承自WaitHandle类,包括Mutex,Semaphore与EventWaitHandle(基类)。以上提到的这四个类都覆写了WaitOne()方法并实现了WaitAll(
2011-05-24 21:03:00
287
转载 .Net学习难点讨论系列6 - .Net中对字符串处理的方法
<br />此文章在aierong 的http://www.cnblogs.com/aierong/archive/2005/04/26/145617.html基础上稍加改动。感谢原作者。 <br />.Net提供了将数值、枚举或日期时间等数据类型表示为字符串的方法(依赖于给ToString()方法传入参数),也提供了(包括自定义解析过程)将字符串表示为某种类型的方法(类/对象名.Parse(string))。 <br />格式化由格式说明符字符的字符串控制,该字符串指示如何表示基类型值;或者怎样将
2011-05-24 21:03:00
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人