自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YoshiroGu

前路漫漫,后路茫茫……

  • 博客(29)
  • 收藏
  • 关注

原创 静态构造函数

一个给定的类只能定义一个静态构造函数 静态构造函数仅执行一次,与创建了多少个这种类型的对象无关。 静态构造函数不带访问修饰符,也不能带任何参数 静态构造函数在任何实例级别的构造函数之前执行

2010-01-25 14:50:00 385

原创 static

STATIC 静态数据在实例化后,是不重新创建副本的,而是所有实例共享 静态方法只能操作静态数据;实例方法可以操作静态和非静态数据 调用静态方法必须加上该方法的累的名字作为前缀

2010-01-25 14:40:00 325

原创 数据绑定,支持多线程间访问

/// /// 数据绑定,支持多线程间访问 /// /// /// 数据源 /// 显示名 /// 数值名 public static void DataSourceEx(this Comb

2010-01-25 09:33:00 497

原创 DGV页面中删除List数据源

if (dgvPersonFile.Rows.Count > 0) dgvPersonFile.EndEdit();   foreach (DataGridViewRow row in dgvPersonFile.Rows) { var item = row.DataBoundItem

2010-01-06 09:31:00 405

原创 远程控制关机与重启

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Management;   namespac

2010-01-06 09:25:00 603

原创 C#小数点格式化

1.ToString()方法 double d=12345678.2334; Console.WriteLine(d.ToString("F2")); //1234.23 Console.WriteLine(d.ToString("###,###.00")); //12,345,678.23 2.Math.Round()方法 Math.Round(3.44, 1);

2009-12-07 11:04:00 2384

原创 两个MenuStrip不自动合并设置项

两个MenuStrip若不设置则将自动合并菜单选项,可修改子窗体MenuStrip的AllowMerge取消自动合并

2009-12-01 14:15:00 740

原创 Textbox中每隔4个数字空一格

bool m_AddBlank = false; private void textBox1_TextChanged(object sender, EventArgs e) { if (m_AddBlank == true) { m_AddBlank = fal

2009-11-23 11:07:00 615

原创 C#反射技术之二读取Attribute特性

我们可以通过一个类的Type的GetCustomAttributes方法来读取这个类上所附加的特性。 class KeyAttribute : Attribute{ } //定义特性(标签)[KeyAttribute] //打上特性(标签)public int Key { get; set; } 读取到类所对应的表的特性了,接下来我们该读取类里包含的属性上所附加的

2009-11-23 10:12:00 1652

原创 C#反射技术之一读取和设置类的属性

要用C#反射技术的话,首先得引入System.Reflection 命名空间,这个命名空间里的类,具有动态加载程序集、类型,动态调用方法、设置和取得属性和字段的值、可以获取类型和方法的信息的功能。 要想对一个类型实例的属性或字段进行动态赋值或取值,首先得得到这个实例或类型的Type,微软已经为我们提供了足够多的方法。 Class MyClass { private int fi

2009-11-23 09:37:00 508

原创 需多个判断的情况下使用的方法

private Dictionarystring, string> fileTypeDic = new Dictionarystring, string>(); protected void InitFileTypeDic() { //此处可调用xml,inc,数据库或其他conf操作

2009-11-23 09:27:00 354

原创 值类型和引用类型的不同

using System;// 值类型struct MyStruct{ public int Age; public MyStruct(int age) { Age = age; }}// 引用类型class MyClass{ public int Age; public MyClass(int age) { Age = age; }

2009-11-23 09:13:00 291

原创 将DGV1中选中的行显示到DGV2中

/// /// 将DGV1中选中的行显示到DGV2中 /// /// /// private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {

2009-11-19 14:46:00 718 2

原创 泛型学习笔记

泛型 泛型不仅限于类,还可以被用于委托、接口和方法。 泛型的优点: 1.    性能:对于值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转化为值类型时需要进行装箱和拆箱操作。装箱和拆箱操作很容易使用,但性能损失比较大,迭代许多项时尤其如此。 2.    类型安全: Listint> list = new Listint>();list.Add(40);

2009-11-19 09:23:00 322

原创 将类转变为对象,取其中需要的值

/// /// 新建类 /// class DgvTest { public int Id { get; set; } public string Name { get; set; } } /// /

2009-11-18 15:46:00 275

原创 匹配数组内元素,输出匹配值的序号示例

private void test() { int[] a = new int[] { 1, 2 }; //新建个一维数组 int i = 2; //你需要匹配的值 foreach (var j in a) //循环遍历 { if (i =

2009-11-18 14:05:00 1079

原创 经典冒泡算法实例

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args)

2009-11-18 10:01:00 497

原创 c#.NET程序打包方法

1.打开要打包的“.lsn”文件,在“解决方案资源管理器”中随便打开一个窗口 2.菜单栏“文件”--->“添加”--->“新建项目” 3. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,点击“确定” 4.在“文件系统”中点击“应用程序文件夹”,右边框变空白,在空白处右击鼠标,“添加”--->点击“项目输出”,出现一个对话框,点击

2009-11-17 15:05:00 410

原创 Invoke的用法

Invoke的用法(C#) 在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。 正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而

2009-11-17 14:48:00 703

原创 控制DOUBLE,DECIMAL小数点的位数

double a = 12.357; double b = double.Parse(a.ToString("0.00"));decimal d = 12.34m; decimal dNew = decimal.Round(d,2);//2表示舍入到2位小数.csharpcode, .csharpcode pr

2009-11-17 14:39:00 434

原创 SQL清空数据技巧

在用mssql时 偶尔需要清空数据 以前一直用delete 有个缺陷:自动编号的ID列不能归零。 今天发现有个好的办法: Truncate Table [表名]这个可以直接清空数据(delete是逐行删除),并把自动编号的归零。

2009-11-17 14:36:00 264

原创 DataGridView绑定List时无法进行添加删除操作的解决方法

将List转换为BindingList,然后设置DataGridView的DataSource为BindingList!! 代码: DataGridView.DataSource = new BindingList(List);将绑定BindingList的DataSource转化为List,同理 代码:List modelList=new List((BindingL

2009-11-17 14:34:00 924

原创 .NET第七章

const与readonly const应该称为常量; readonly则应称为只读变量。 const、readonly、static readonly定义的常量,指定初始值后(包括在构造函数内指定初始值)将不可更改,可读不可写。 const常量在定义时必须指定初始值,如:private const string str = 1。 而readonly和static readonly在声明

2009-11-17 14:30:00 485

原创 .NET第六章

new关键字: 1)作为运算符,用于创建对象和调用构造函数。 2)作为修饰符,用于向基类成员隐藏继承成员。      实现派生类中隐藏方法,则基类方法必须定义为virtual,在派生类中通过 new或override进行灵活控制。而new和override不可共存,因为new用于实现创建一个新成员,同事隐藏基类的同名成员,而override用于实现对基类成员的扩展。

2009-11-17 13:51:00 339

原创 .NET第四章

类型: 基本概念: 值类型:通常分配在线程的堆栈上,并且不包含任何指向实例数据的指针,因为变量本身就包含了其实例数据。MSDN中的定义为值类型直接包含它们的数据。 引用类型:实例分配在托管堆上,变量保存了视力数据的内存引用,MSDN中的定义为引用类型存储对值的内存地址的引用,位于堆上。   嵌套结构: 指在值类型中嵌套定义了引用类型,或者在引用类型变量中嵌

2009-11-17 11:35:00 280

原创 .NET第二章

设计原则: 单一职责原则(SRP) 核心思想:一个类,最好只做一件事,只有一个引起它变化的原因。 建议:一个类只有一个引起它变化的原因,否则就应当考虑重构。            SRP由引起变化的原因决定,而不由功能职责决定。 开放封闭原则(OCP) 核心思想:对扩展开放,意味着有新的需求或变化时,可以对现在代码进行扩展,以适应新的情况

2009-11-17 11:00:00 264

原创 .NET第一章

访问修饰符的开放性从高到低排序及说明: Public:开放性最大,不管是否同一个程序集或者不管是否继承,都可被访问。 Protected Internal:不论是否为同一程序集,是否为继承关系,均可以被访问。 Protected:只要继承了该类,则其对象就有访问父类的权限,而不管这两个具有继承关系的泪是否在同一个程序集中。 Internal:只要是隶属于同一程序集,

2009-11-17 10:54:00 352

原创 委托的方法与使用

namespace DelegateTest{ class Program { //定义委托,它是一个函数声明,但是没有实现 public delegate string Mydelegate(string s); // 定义类 public class A {

2009-11-17 10:37:00 329

原创 DateTime.Now的相等判断方法

 DateTime.Now的最小单位不是1秒,是 100纳秒,也就是,DateTime.Now可以描述到100纳秒的级别,所以别看两个时间秒相同,其实他们不一定相等, 要如何判断,如果要完全相等的话,那就要  if( DateTime.Now.Ticks == RestStartTime.Ticks ) 这样就判断完全相等了,  否则,就要 TimeSpan times = R

2009-11-16 14:45:00 952

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除