- 博客(92)
- 资源 (4)
- 收藏
- 关注
转载 托管代码和非托管代码
托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用。源代码在运行时分为两个阶段: 1.源代码编译为托管代码;(所以源代码可以有很多种,如VB,C#,J#)2.托管代码编译为microsoft系统的.net平台专用文件(如类库、可执行文件等)。由公共语言运行库环境(而不是
2012-05-17 10:36:13
2461
转载 元数据
元数据就是你引用别人的项目或是系统自带的DLL文件之后,里面的相关数据,方法。比如你用三层架构的时候,BLL层引用了DAL层的DLL文件,可以调用DLL层的相关方法等等,但你在BLL层对调用的DAL层的方法进行“转到定义”的时候就会是元数据,你只能看到他的方法名参数具体的实现代码你是看不到的只有在DAL层才能看到被调用的方法的实现代码。 所谓“从元数据”实是指由微软所封装的
2012-05-17 10:35:40
1205
转载 SqlCommandBuilder在用SqlDataReader更新数据源时的作用
用于将对DataSet所做的更改与关联的 SQL Server数据库的更改相协调。SqlDataAdapter不会自动生成实现 DataSet的更改与关联的 SQL Server实例之间的协调所需的 Transact-SQL语句。但是,如果设置了 SqlDataAdapter的SelectCommand属性,则可以创建一个 SqlCommandBuild
2012-05-17 10:32:27
3680
转载 使用SqlDataReader来操作数据库
1、SqlDataAdapter简介SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。它通过对数据源使用适当的 Transact-SQL语句映射Fill(它可更改 DataSet中的数据以匹配数据源中的数据)和Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。当 Sql
2012-05-17 10:31:36
2902
转载 使用SqlCommand执行SQL语句
1、构造函数 (1)public SqlCommand() 备注 基构造函数将所有字段初始化为它们的默认值。下表显示SqlCommand实例的初始属性值。属性初始值CommandText空字符串 ("")CommandTimeout30
2012-05-17 10:31:03
5704
转载 sqlserver 连接字符串
以本地服务器(LocalHost),数据库(Northwind)为例,可以有以下一些连接方式String str="Server=LocalHost;Integrated Security=SSPI;Database=Northwind";Stringstr=”DataSource=LocalHost;IntegratedSecurity=SSPI;InitialCatalog=N
2012-05-17 10:25:33
6007
转载 将ComboBox 控件绑定到数据
怎样让ComboBox显示表中的一个字段,同时又绑定另一个字段。而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=911
2012-05-17 10:23:30
2179
转载 为什么控件的有些属性在代码中可用,但是在设计界面的属性窗口中就没有
控件的有些属性,只能在代码中设置,但是在可视化设计时,不能在属性列表中设置,因为属性上有很多Attribute(特性),它们告诉设计器在哪里要显示或隐藏属性。比如datagridview的AutoGenerateColumns属性就是这样,[BrowsableAttribute(false)]public bool AutoGenerateColumns { get; set; }
2012-05-17 10:19:32
1840
转载 窗体类Form中方法Show()和ShowDialog()的区别
show()是非模式窗体.showDialog()是模式窗体.区别在于,以showDialog()打开的窗体,要等窗体关闭后才能操作其他窗体.而show()则不受此限制.
2012-05-17 10:17:03
2033
转载 强数据类型和弱数据类型
强类型定义语言 一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串 弱类型定义语言 一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,可以将字符串 '12 ' 和整数 3 进行连接得到字符串 '123 ',
2012-05-17 10:16:08
7805
转载 c#中字段(field)和属性(property)的区别
class myclass{ private int _age;//私有的字段 public int age //属性 { get { return this. _age;} set {this.age=value; } }}对一个私有的字段提供这样的属性有什么意义呢?为什么不直接把age改成公有的? 分析:1、属性可以只读
2012-05-17 10:12:56
13934
1
转载 c#中4个访问修饰符和8个声明修饰符详解
4个访问修饰符(是添加到类、结构或成员声明的关键字) Public:公有的,是类型和类型成员的访问修饰符。对其访问没有限制。Internal:内部的,是类型和类型成员的访问修饰符。同一个程序集中的所有类都可以访问Private:私有的,是一个成员访问修饰符。只有在声明它们的类和结构中才可以访问。Protected::受保护的,是一个成员访问修饰符。只能在它的类和它的派生类中访问
2012-05-17 10:11:49
21333
3
转载 C#中控件的Click事件与MouseClick事件有什么区别?
click,可以不用鼠标点.(当焦点在些控件上,你点回车之类的就可以激发这个事件)mouseclick就得用鼠标点.
2012-05-17 10:10:02
14744
转载 C# partial 关键字详解
我们新建一个Windows Form时,后台代码都会自动添加如下代码:1public partial class Form1 : Form2 {3 public Form1()4 {5 InitializeComponent();6 }7 }为什么类Form1要用partial修饰?partial主要用在哪些
2012-05-17 10:07:53
53934
1
原创 八皇后问题
/*问题描述:如何在一个8*8的棋盘上无冲突的摆放8个皇后棋子。要求:皇后棋子所在的位置的水平方向,垂直方向,45度斜线方向都不能出现皇后棋子。 求出所有符合要求的摆放方法。解决方法:采用递归的方法。(其他如回溯法,穷举法,概率算法又叫拉斯维加斯算法),用8*8的0—1矩阵表示棋盘,1表示皇后棋子,0代表空。*/#includeint count=0;//
2012-05-03 17:05:22
1432
原创 二路归并排序
#includevoid sort(int a[],int,int,int);void MergeSort(int a[],int ,int);int main(){ int a[8],i; printf("请输入8个整数\n"); for(i=0;i<8;i++) scanf("%d",&a[i]); MergeSort(a,0,7); p
2012-05-03 16:15:54
536
原创 字符串和数字的互换
一、将字符形式的数字转化为整型数字/* 问题描述:实现函数 int atoi(const char *str)的功能 *函数atoi将字符形式的数字转换为整型。 *例如:输入:若干空格或tab或换行符 123g,123.46,-123,ab * 输出:123,123,-123,0。即若首个非空字符为非法字符即不是数字字符,则返回0. */#include st
2012-05-02 10:09:31
858
原创 static 关键字详解
一、共性:静态变量(全局的或局部的)存放在内存的静态存储区,系统自动初始化为0,自动变量的值是任意的。二、static的用法 1. 修饰全局变量------全局静态变量 在全局变量之前加上关键字static与普通全局变量的比较:共同点:都存放在内存的静态存储区不同点:(1)全局静态变量会被程序自动初始化为0,而普通全局变量的值是任意的。除非被显示的初始化。(2)
2012-04-24 17:11:16
642
原创 动态内存分配(new delete)
一、动态内存分配的引入一般,变量和对象在内存中的分配都是编译器在编译程序时安排好了的,这带来了极大的不便,如数组必须大开小用,指针必须指向一个已经存在的变量或对象。动态内存分配解决了这个问题。 通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。这种内存分配称为静态存储分配; 有些操作对象
2012-04-24 15:50:55
8408
1
原创 内存空间的划分
一、C/C++中内存区域的划分1、 栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、 堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、 全局区(静态区)(static)—,全局变量和静态变量的存
2012-04-24 15:49:39
1783
1
原创 内存中的字节对齐
一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据
2012-04-23 15:35:55
7041
2
原创 读入未知数目的输入
问题描述: 由用户输入任意数目的整数,计算这些整数的和。我们不知道要对多少个数求和,而是要一直读数知道程序输入结束。 代码实现:#include "stdafx.h"#includeusing namespace std;int main(){ int sum=0,value; while(cin>>value) sum+=value; cout
2012-04-17 20:13:01
2539
原创 删除一个字符串中连续的空格
//问题描述:给定一个字符串,如果字符串中存在连续多个空格则用一个空格代替.例如:输入:ab--cd-ef---g 输出:ab-cd-ef-g,为了方便,用-代替空格//解决问题:写两个循环...第一个循环读到空格就使用第二个循环判断连续空格的数量..在第二个循环中一旦一个字符不是空格,就跳出本循环。然后根据空格//数量移动字符#include#includevoid Remo
2012-04-13 10:47:03
5965
1
原创 C 中常见的编程错误
1、尝试修改字符串常量 char *p = "i'm hungry!"; p[0]= 's'; 答案与分析: 上面的代码能成功通过编译,但会产生运行时的错误即造成内存的非法写操作。 "i'm hungry"实质上是字符串常量,而常量往往被编译器放在只读的内存区,不可写。p初始指向这个只读的内存区,而p[0] = 'I'则企图去写这个地方,编译器当然不会答应。
2012-04-11 08:56:34
1006
原创 用一个表达式而不是一个循环语句 判断一个数X是否是2的N次方(2,4,8,16......)
可以发现:2,4,8,16.......的二进制分别为10,100,1000,10000.....所以如果X减1后与X做按位与运算的结果为0,或者如果X减1后与X做按位或运算的结果为1,那么X是2的N次方。
2012-04-10 21:52:57
3118
转载 c中左值,右值
一.左值的概念 lvalue 是指那些单一表达式结束之后依然存在的持久对象。例如: obj,*ptr, prt[index], ++x都是 lvalue。即左值表达式引用到一块已命名的内存区域,即左值表达式首先拥有一块内存区域,并且可以通过变量名来访问该内存区域。rvalue是指那些表达式结束时(在分号处)就不复存在了的临时对象。例如:1729, x + y, s
2012-04-10 19:53:33
1524
原创 字符串循环移位
//问题描述:对字符串进行循环移位。例如: 字符串abcde循环右移一位为eabcd,右移两位为deabc;左移两位为cdeab#includechar* cycle_shift(char *c,int n,int flag);//对字符串c进行循环移动n位,flag=1右移,flag=0左移int main(){ char a[100],b[100]; int
2012-04-10 08:39:15
3201
原创 连接两个字符串
//问题描述:实现库函数strcat的功能即将两个字符串连接起来#includechar* str_catenate(char* str1,char* str2);int main(void){ char str1[200],str2[100]; printf("请输入要连接的两个字符串\n"); scanf("%s%s",str1,str2); printf(
2012-04-09 20:40:17
6621
原创 求字符串中数字之和
//问题描述:任意给定一个字符串,求字符串中含有的所有数字的和。例如:ac38dd9d 结果为:3+8+9=20#includeint sum(char* c);int main(void){ char a[100]; printf("请输入任意一串字符\n"); scanf("%s",a); printf("该串字符中的数字之和为:%d\n",sum(a))
2012-04-09 20:04:03
3615
转载 爱因斯坦阶梯问题
/*问题描述:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶; 只有每步上7阶,最后刚好一阶也不剩。问题分析:设长阶供x阶,那么 x%2=1 x%3=2 x%5=4 x%6=5 x%7=0 即求满足要求的最小的x,可用穷举的方法。因为x%7=0,所以阶梯数必须为7的倍数;*/#include
2012-04-08 10:42:20
5292
转载 可扩展的数列排序
#include#include/*问题描述:从键盘输入任意个整数,以0作为结束标志。对这个整数序列进行排序并输出排序后的结果。问题分析:题目要求从键盘输入任意个整数,因此在数据的组织上就不能使用数组了。因为数组的内存分配是在编译时完成的,即在编写代码时就指定数组的大小。 从键盘输入任意个整数,就是说要分配的内存空间的大小是不固定的,需要在程序执行时根据实际输
2012-04-08 10:38:49
856
转载 百钱买百鸡问题
/*问题描述:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;白钱买百鸡,则翁,母,雏各几何?*//*分析问题:设鸡翁,鸡母,鸡雏各为x,y,z. 那么x,y,z需满足:5x+3y+z/3=100,x+y+z=100,0=<x,y,z<=100,x,y,z为整数,z为3的倍数。*//*解决方法:穷举出x,y,z所有可能的取值,如果满足以上方程组,则输出结果*/
2012-04-08 10:31:16
891
转载 近似证明哥德巴赫猜想
#include/*哥德巴赫猜想(Goldbach Guess)就是说任何一个大于2的偶数都能表示成两个素数之和。*/int IsPrime(int a);int IsGoldBach(int a);int TestifyGB_Guess(int low,int high);int main(void){ int a,b; printf("请输入一个范围:"
2012-04-08 10:28:45
899
转载 输出指定范围内的阿姆斯特朗数
如果一个正整数等于其各位数字的立方和,那么称这个数为阿姆斯特朗数。例如:407=4^3+7^3。 #includeint IsArmStrong(int);void PrintArmStrong(int,int);int main(void){ int a,b; printf("请输入寻找阿姆斯特朗数的范围:"); scanf("%d%d",&a,&b);
2012-04-08 10:23:55
1586
转载 求两个数的最大公约数
#includeint MaxElem(int,int);int main(void){ int a,b; printf("请输入两个整数:"); scanf("%d%d",&a,&b); printf("%d %d 的最大公约数是:%d\n",a,b,MaxElem(a,b));}int MaxElem(int a,int b){//假设a,b的最
2012-04-08 10:18:24
388
转载 判断回文数字
一、问题描述 回文就是正着读和倒着读一样。 判断给定的一个整数是不是回文。例如123不是回文数字,而123321是回文数字二、问题分析 首先求出整数逆转后的数,如果逆转后的数和原来的整数相同则该整数是回文数字。例如123逆转后的数是321,所以123不是回文数字。 二、实现代码 #includeint Reverse (int);
2012-04-08 10:05:59
617
转载 输出指定范围内的素数
一、素数,合数 素数又称为质数,是指在大于1的整数中,只能被1和其本身整除的数。 合数:在大于1的整数中不是素数的数。 1既不是素数也不是合数。二、实现代码 通常用穷举法列出指定范围内的素数。 #includeint IsPrime(int n);void PrintPrimes(int,int);int main(
2012-04-08 09:50:59
7933
1
转载 打印九九乘法表
一、问题描述 用C编程输出下图的九九乘法表 二、问题分析 经分析发现:第i行有i列。第i行的第j个等式的被乘数等于j,乘数等于行数i。三、实现代码#includevoid PrintMulTab();int main(void){ printf("下面将打印九九乘法表:\n"); PrintMulTab(); return
2012-04-08 09:40:03
2276
转载 打印三角座
一、问题描述 用C编程打印出如下图所示的三角座 二、问题分析 像这种要求打印某种特殊图形的题,首先要分析该图形的特点和规律。 经分析可知:第1行有一个*;第2行有3个*;第3行有5个*。所以第i行有(2*i-1)个*。最后一行从一行开头就开始打印*,倒数第二行空一格开始打印*,倒数第三行空两格开始打印*......所以假设共有n行,那么第i行需
2012-04-08 09:29:05
787
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人