我在上一篇文章(C#编程之委托与事件(一) )中通过示例结合的方法介绍了委托,在本文中,我同样以代码示例的方式来介绍C#里的事件机制。二、事件 1.了解概念 事件就是当对象或类状态发生改变时,对象或类发出的信息或通知。发出信息的对象或类称为"事件源",对事件进行处理的方法称为"接收者",通常事件源在发出状态改变信息时,它并不知道由哪个事件接收者来处理.这就需要一种管理机制来协调事件源和接收者,C++中通过函数指针来完成的.在C#中事件使用委托来为触发时将调用的方法提供类型安全的封装。 在介绍事件之前我们先来了解几个事件的基本概念和几个重要素: --事件的本质 -事...
多线程程序设计是一个庞大的主题,而本文试图在.net Framework环境下,使用C#语言来描述委托、事件、多线程程序及反射的概貌。希望本文能有助于大家理解委托、事件、多线程及反射的概念,理解委托、事件、多线程及反射的用途,理解它的C#实现方法,理解线程将为我们带来的好处和麻烦。C#是一种新的语言,因此它的线程机制也有许多独特的地方,希望大家能通过本文清楚地看到这些,从而可以对委托、事件、多线程等技术进行更深入的理解和探索。 本文的重点内容:委托、事件、多线程、反射一. 委托委托的本质 --在C#中,委托是一个特殊的类; --在某种程度上,相当于C++的函数指针; --在某种程度...
二叉树的构造、遍历//2008.04.12#include<stdio.h>#include<iostream>using namespace std;struct binaryTreeNode{ char data; struct binaryTreeNode *lefttree,*righttree;};typedef struct binaryTreeNode BinaryTree;char ch=' ';void CreateTree(BinaryTree *&tree){ if(ch!='\n') { ch=getchar(); if(ch=='\n') ...
using System;class Publisher //出版商{ public delegate void Publish();//声明事件所要的代理 public event Publish OnPublish;//声明一个事件 public void issue() //触发事件 { //判断是否有这一事件的触发代理 if(OnPublish!=null) //事件是一个名词,而不是一个方法。 { Console.WriteLine("发行杂志"); OnPublish(); } }}class Subscriber //订阅者{ public void Re...
using System;delegate void delegateEat(string food);class man{ private string peop; public man(string peop) { this.peop=peop; } public void maneat(string food) { Console.WriteLine(peop+"吃 "+food); }}class test{ //params 多个参数/在此为delegateEat委托数组 static void togetheat(string food,params delegateEa...
你是个对待感情理智的人,也许见到他时心里已经像小鹿乱撞,但是依然摆出一幅没事的模样,你不希望自己在别人面前表现出为爱情失态的样子,你总是暗暗提醒自己不能乱了阵脚。你一般不会主动出击,你会等待对方主动来表示心意,如果对方无动于衷的话,你就会在言语和动作上给他一点小提示,这样既不失面子又能俘获爱情。
据统计,在受“间谍软件”攻击的国家中,中国是最大的受害国之一,仅去年下半年,全球平均每天约有6.4万台计算机受到恶意程序影响,其中有26%在中国,这一比例高于其他任何国家。有资料显示,近年来,在世界上传播的杀伤力最大的病毒几乎都在中国肆虐过,日益突出的国防信息安全问题,早已引起全世界的普遍关注,解决好国防信息安全问题,必须要强化全民国防观念,走独立自主的创新发展道路。
据汉语编程发明人沈志斌介绍:现代信息安全模式以由远端到近端逐级安全保护模式,其安繁琐性大其安全性提高幅度较小,而“汉语编程”从程序本身使信息安全方式发生改变,木马程序、僵尸网络、黑客攻击这一系列的...
今天开完运动会,累!陪老婆散步到九点,实在困就睡了两小时,醒来看看阿蒙的博客,感觉精力充沛,突然很想把自己的一些想法和别人交流,于是有了这个博客,还有这篇日志。在特殊行业的软件公司里做项目负责人,慢慢的向管理上靠,一时间又对技术很依恋,自我感觉是在人生的转折点,需要做非常多的选择和决定。所有的信息和发展的势头决定了我需要很多别人的帮助,需要自我价值的定位,需要“高位思考”,需要规划和体系思考。。。所有所有都让我重担在肩,开通这个博客除了广结益友外,其实也是想给自己一面镜子,希望在自己迈人生步伐时可以以自己为鉴,修身明志,步伐坚定。如何定位自己,其实需要首先定位外部需求,所以还是要反思当前...
#define N 5#include<stdio.h>void main(){float score[5],sum=0,ave;int i;printf("Input score");for(i=0;i<5;i++) scanf("%f",&score[i]);for(i=0;i<5;i++) sum+=score[i];ave=sum/5;printf("sum=%4f,average=%4f",sum,ave);}
把 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] BootExecute 这个值清空就可以了
#define N 40#include<stdio.h>#include<math.h>void main(){int i,j,count=0;static k;int a[N];printf("Input score\n");for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N;i++) if(a[i]<60) count++; printf("count=%2d\n",count);k=i; for(i=0;i<N-1;i++){for(j=i;j<N;j++) if(a[k]<a[j...
#include<stdio.h>#include<math.h>void main(){unsigned int i,j,sum=0,flag,count;count=0;for(i=50;i<=1000;i++){flag=0;for(j=2;j<=sqrt(i);j++){if(i%j==0){flag=1;break;}}if(flag==0){sum+=i;count++;}}printf("%4d",sum);printf("%4d",count);}
//button事件。
void BtnCtrlClick(object sender, EventArgs e) { BitArray ba=new BitArray(32); int ctrl; try { ctrl=int.Parse(txtCtrl.Text); } catch(System.FormatException) { MessageBox.Show("你所输入的不是数字"); return; } catch(System.OverflowException) { MessageBox.Show("数字...
为了方便大家,和减示错误,大部份步骤可以用如下脚本代替,我已经改成脚本cmd,新建一个txt文把,把如下代码,复制到里面后,把扩展名改为.cmd 双击运行,运行后,请按提示backup。
@echo off
ECHO.
ECHO.
ECHO. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHo.
ECHo 你现在使用世界网络教研室整理的"一建做安全"脚本
ECHo.
ECHO. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
磁盘权限 (如下设置,我们已经写一个CMD脚本,按要求复制运行即可以取代如下手工设定)
系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限
系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe、ftp.e...
TCP/IPNetBIOS Helper提供 TCP/IP 服务上的 NetBIOS 和网络上客户端的 NetBIOS 名称解析的支持而使用户能够共享
文件、打印和登录到网络
Server支持此计算机通过网络的文件、打印、和命名管道共享
Computer Browser 维护网络上计算机的最新列表以及提供这个列表
Task scheduler 允许程序在指定时间运行
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Distributed File System: 局域网管理共享文件,不需要可禁用
Distributed li...
今天在对系统表sysusers进行删除用户的操作时,出现了下面的错误:
未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。
解决方法:
打开mssql server 属性---》服务器选项----》启用对系统目录的特殊更新(允许对系统目录进行直接修改) 即可
动态规划是用空间换时间的一种方法的抽象。其关键是发现子问题和记录其结果。然后利用这些结果减轻运算量。比如01背包问题。
/* 一个旅行者有一个最多能用M公斤的背包,现在有N件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为P1,P2,...,Pn.若每种物品只有一件求旅行者能获得最大总价值。输入格式:M,NW1,P1W2,P2......输出格式: X */
因为背包最大容量M未知。所以,我们的程序要从1到M一个一个的试。比如,开始任选N件物品的一个。看对应M的背包,能不能放进去,如果能放进去,并且还有多的空间,则,多出来的空间里能放N-1物品中的最大价值。怎么能...
http://acm.hdu.edu.cn/showproblem.php?pid=1244
#include< stdio.h >#include< string.h >int am[ 21 ]={0}, ansum[ 1001 ]={0}, lenam[ 21 ]={0}, an[ 1001 ]={0}, sum[ 21 ][ 1001 ]={0};int main( ){ int max, i, j, max_res, n, m; while( scanf( "%d", &n ) != EOF && n ) { scanf( "%d", &m )...
http://acm.hdu.edu.cn/showproblem.php?pid=1003
#include<stdio.h>#include<string.h>int a[100001];void biggest(int w){ int i,m,r,s1,e1,s,e; r=-1000; m=0; s=1;e=1; s1=1;e1=1; for(i=1;i<=w;i++) { if(m>=0){m+=a[i];e=i;} else if(m<0){m=a[i];s=i;e=i;} if(m>r){s...