Silverlight VS (C#)
文章平均质量分 59
Microblue
吾生也有涯,而知也无涯!
新浪微博:http://t.sina.com.cn/1863986252
展开
-
C#范型概念和特点
范型的设计是为了解决上面提到过的Object的多态性设计中的两个问题: (1),性能上面的,boxing和unboxing需要大量的复制开销; (2),安全性上面的,在上面一个例子看到了如果unboxing类型不同会抛出一个InvalidCastException异常; 范型的设计格式是使用封闭其中一个范型参数,例如: public class Stack; 范型的实例化格式是使用需要使用的类型替换封闭其中一个范型参数,例如: Stack char_Stack = new St转载 2010-12-05 08:26:00 · 655 阅读 · 0 评论 -
c# 图片加相框
//加边框try { Bitmap Backbmp = new Bitmap(@"" + Path); float w = (float)(Backbmp.Width * 0.2); using (Graphics g = Graphics.FromImage(Backbmp)) {原创 2010-12-23 15:24:00 · 1816 阅读 · 0 评论 -
C# 边框阴影窗体效果
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;using System.Runtime.InteropServices;namespace test{ public partial class For原创 2010-12-23 12:33:00 · 6513 阅读 · 6 评论 -
c# 双缓冲(防止闪屏)
// 该调用是 Windows.Forms 窗体设计器所必需的。 InitializeComponent(); // TODO: 在 InitComponent 调用后添加任何初始化 this.SetStyle(ControlStyles.AllPaintingInWmPaint,true); //开启双缓冲this.SetStyle(ControlStyles.DoubleBuffer,true); this.SetStyle(ControlStyles.UserPaint,t原创 2010-12-23 13:19:00 · 3289 阅读 · 0 评论 -
c# 圆角界面
<br />#region 圆角界面<br /> public void SetWindowRegion()<br /> {<br /> System.Drawing.Drawing2D.GraphicsPath FormPath;<br /> FormPath = new System.Drawing.Drawing2D.GraphicsPath();<br /> Rectangle rect = new Rec原创 2010-12-23 12:38:00 · 1285 阅读 · 0 评论 -
c# 判断字符串空值的方法
(1)NULLnull 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。那么也只有引用型的变量可以为NULL,如果int i=null,的话,是不可以的,因为Int是值类型的。(2)""和String.Empty 这两个都是表示空字符串。只不过""理论上重新开辟内存空间,而String.Empty指向一处。不过优化器会优化的! string.Empty不分配存储空间, ""分配一个长度为空的存储空间,所以一般用string.Empty,为了以后跨平台,还是用string原创 2010-12-22 11:29:00 · 2152 阅读 · 0 评论 -
C#中的快速排序源代码
public class QuickSort { /// /// 排序 /// /// 待排序数组 /// 数组第一个元素索引Index /// 数组最后一个元素索引Index private static void Sort(int[] numbe原创 2010-12-10 18:40:00 · 1058 阅读 · 0 评论 -
c# 防止多个程序运行
<br />/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurre原创 2010-12-10 22:12:00 · 761 阅读 · 0 评论 -
文本滚动效果 [已实现]
<br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" dir="ltr"><br /><head><br /> <meta http-equiv="Content-Type"原创 2010-12-08 17:37:00 · 808 阅读 · 0 评论 -
MP3文件的结构与编程
<br />有一个朋友喜欢听MP3,为了获取MP3,写了一个程序,专门从一家音乐网站上搜索下载mp3,一下子下载了有上千首。这时朋友又犯愁了,这些MP3的歌曲名字都是使用1,2,3,4,。。等数字命名,挑选起来十分不方便。虽然MP3播放器能够读出MP3文件信息的歌曲名,但歌曲文件本身的名字却不利于自己管理。于是就想写一个小程序实现MP3自动更名。查了一些资料,研究了一下MP3的文件结构。<br />研究MP3的结构,就不能不研究ID3标签。ID3标签是MP3音乐档案中的歌曲附加讯息,它能够在MP3中附加曲子转载 2010-12-04 12:27:00 · 996 阅读 · 0 评论 -
C#导出Excel总结
<br />一、asp.net中导出Execl的方法:<br />在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,/t分隔的数据,导出execl时,等价于分列,/n等价于换行。<br />1、将整个html全部输出execl<br />此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中。<br /> Response.Clear(); <b转载 2010-12-02 12:10:00 · 579 阅读 · 0 评论 -
什么是托管,什么是非托管
<br />NET Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程<br /><br />序开发。.NET Framework 旨在实现下列目标: <br /><br />提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地<br /><br />执行但在 Internet 上分布,或者是在远程执行的。 <br />提供一个将软件部署和版本控制冲突最小化的代码执行环境。 <br />提供一个保证代码(包括由未知的或不完全受信任的第三方转载 2010-12-04 20:47:00 · 1482 阅读 · 0 评论 -
C#托管代码与C++非托管代码互相调用一(C#调用C++代码&.net 代码安全)
<br />在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能反编译。这样一来,就涉及C#托管代码与C++非托管代码互相调用,于是调查了一些资料,顺便与大家分享一下:源代码下载<br />一. C# 中静态调用C++动态链接<br /> <br /> 1. 建立VC工程CppDemo,建立的时候选择Win32 Console(dll),选择Dll。<br转载 2010-12-04 20:40:00 · 814 阅读 · 0 评论 -
c#静态方法和非静态方法
C#的类中可以包含两种方法:静态方法和非静态方法。使用了static 修饰符的方法为静态方法,反之则是非静态方法。静态方法是一种 特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先创建一个类的实例,而是采用类名.静态方法的格式 。1.static方法是类中的一个成员方法,属于整个类,即不用创建任何对象也可以直接调用!static内部只能出现static变量和其他static方法!而且static方法中还不能使用this....等关键原创 2010-12-04 20:36:00 · 962 阅读 · 0 评论 -
C# 清理非托管对象
<br />那Finalize方式在.net内部是如何实现的呢?<br /> 当GC(垃圾回收器)开始工作的时候,它首先将没有终结器的垃圾对象从内存中移除,有终结器的所有对象则添加到一个终止化队列当中。GC会调用一个 新线程来执行这些对象的终结器。当终结器执行完毕后,这些对象会从队列中被移除。这时候由于这些对象在第一次检测到的时候没有被释放,它们将会进入第1代 对象,直到GC检测到第0代对象和第1代对象再次充满时,这时候GC才会把刚才那些对象释放掉,所以有终结器的对象会比没有的在内存中保留更长的时间。<b原创 2010-12-04 20:29:00 · 806 阅读 · 0 评论 -
c# DataGridView中实现ComboBox可编辑的下拉框功能
<br />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;using System.Runtime.InteropServices;namespace test{原创 2010-12-25 16:21:00 · 5404 阅读 · 0 评论