Welcome 微信登录

首页 / 软件开发 / C#

abstract virtual在C++和C#中的比较

abstract virtual在C++和C#中的比较

abstract virtual在C++和C#中的比较2011-09-22 博客园 王阿斗一年多前,我去面试一家印度公司,做C++的,待遇不错。其中一个题目是让我介绍 vitual base class, 我很久没看C++教材了,突然咯噔一下,这是个啥东东,好像很熟悉,但从来没用过,反正想不 起来了。用本山大叔的话说,我啥时给你送过秋波啊,秋波是啥玩意儿?是啊, vitual base class 是 啥玩意儿呢?回家一翻书,原来如此。现在总结记录一下,&...
属性(Properties)和字段在C#中的关系

属性(Properties)和字段在C#中的关系

属性(Properties)和字段在C#中的关系2011-09-22 博客园 姜敏主题:这篇文章我来说下属性(Properties)和字段在C#中的关系。首先申明一下,这里讲的属性就是通 常说的包含get,或者是set访问器的属性,不是属性 (Attribute)。我们写程序的时候大多都会用到实体 类,而生成实体类,我们都会申明一些常规属性或者是自动实现的属性。至于到底选用哪一种属性,或者 说是否可以直接用字段代替呢?常规属性和自动实现属性的区别:一个完整...
《C# to IL》第一章 IL入门

《C# to IL》第一章 IL入门

《C# to IL》第一章 IL入门2011-09-22 博客园 包建强1-我们用C#、VB.NET语言编写的代码最终都会被编译成程序集或IL。因此用VB.NET编写的代码 可以在C#中修改,随后在COBOL中使用。因此,理解IL是非常有必要的。一旦熟悉了IL,理解.NET 技术就不会有障碍了,因为所有的.NET语言都会编译为IL。IL是一门中性语言。IL是先发明的,随后才有 了C#、VB.NET等语言。我们将在一个短而精辟的程序中展示IL。我们还假设读者...
《C# to IL》第二章 IL基础

《C# to IL》第二章 IL基础

《C# to IL》第二章 IL基础2011-09-22 博客园 包建强-2-如果你真的想要理解C#代码,那么最好的方法就是通过理解由C#编译器生成的代码。本章 和下面两章将关注于此。我们将用一个短小的C#程序来揭开IL的神秘面纱,并解释由编译器生成 的IL代码。这样,我们就可以“一箭双雕”:首先,我们将揭示IL的奥妙,其次,我们将会更 加直观地理解C#编程语言。我们将首先展示一个.cs文件,并随后通过C#编译器以IL编写一个程序 ...
《C# to IL》第四章 关键字和操作符(上)

《C# to IL》第四章 关键字和操作符(上)

《C# to IL》第四章 关键字和操作符(上)2011-09-22 博客园 包建强位于return语句之后的代码是不会被执行的。在下面给出的第1个程序中,你将发现在C#中有一个 WriteLine函数调用,但是在我们的IL代码中却看不到。这是因为编译器意识到任何return之后的语句都 不会被执行,从而,也就不用将其转换到IL中了。a.csclass zzz{public static void Main(){return;System.Console....
《C# to IL》第四章 关键字和操作符(下)

《C# to IL》第四章 关键字和操作符(下)

《C# to IL》第四章 关键字和操作符(下)2011-09-22 博客园 包建强我们创建了一个接口iii,它只有一个名为pqr的函数。然后,类yyy实现了接口iii,但是没有实现函 数pqr,而是添加了一个名为abc的函数。在入口点函数vijay中,函数pqr会被接口iii调用。我们 之所以没有得到任何错误,是因为override指令的存在。这个指令通知编译器重定向对接口iii的函数pqr 以及对类yyy的函数abc的任何调用。编译器对override...
项目常用算法之一个C#资源池的实现

项目常用算法之一个C#资源池的实现

项目常用算法之一个C#资源池的实现2011-10-05这个资源池用来管理程序的宝贵资源。主要的类是ResourcePool<T>。用户可以通过调用GetResource方法请求一个资源,用完之后通过ReturnResource归还给资源池。由资源池决定什么时候释放多余的资源。接口IResourceProvider<T>用来获得资源。类ResourceTag<T>用来标志资源是否在用。具体的就不多说了,请看代码。欢迎讨论。...
项目中使用加密狗概述

项目中使用加密狗概述

项目中使用加密狗概述2011-10-05 博客园 Hetter今天看了一下项目中涉及到的知识点,察觉到该项目中里边有许多知识以前从未接触过,顺便将其整理 下来.加密狗主要是用来加密个人重要的数据.我们对其的操作主要就是读写加密狗里边的信息.介绍一下赛孚耐信息技术有限公司的加密狗产品,该产品提供了.NET中非托管的类库,来完成加密狗 的数据读写功能。● DogWrite 函数(写如加密狗) [DllImport("Win32dll.dll"...
Visual C# 2010新特性之命名和可选参数与类型等价支持

Visual C# 2010新特性之命名和可选参数与类型等价支持

Visual C# 2010新特性之命名和可选参数与类型等价支持2011-10-05 博客园 holywolf1. 命名和可选参数Visual C# 2010引入了命名和可选参数,经常使用SQL Server编写存储过程的开发人员对此应该比较熟 悉—命名参数和可选参数与存储过程的参数十分相似。命名参数允许调用者通过提供参数的名称来为其赋值,这样参数的位置就不在重要了。可选参数允许 在定义时为某些参数赋值,在调用时可以忽略这些“可选的...
[叩响C#之门]写给初学者:滚动条原理

[叩响C#之门]写给初学者:滚动条原理

[叩响C#之门]写给初学者:滚动条原理2011-10-17 梁斌玉 17.9.4 在滚动窗口中绘图窗体的大小由窗体的Size属性确定,这个大小包括了窗体的标题栏和边框。而窗体中用于显示客户文 档的区域称为工作区(ClientRectangle),其大小用窗体的ClientSize 属性表示(如图17-20所示)。在图17-20中,窗体的大小为308×234像素,其中标题栏的宽度为30像素,边框的宽度为4像素,所以 工作区的大小为300&time...
[叩响C#之门]写给初学者:类和对象的概念

[叩响C#之门]写给初学者:类和对象的概念

[叩响C#之门]写给初学者:类和对象的概念2011-10-17 梁斌玉 面向对象编程:类和对象的概念[说明:本文是给刚刚接触编程的初学者看的,大佬们看起来 可能觉得很简单,勿怪]类(Class)面向对象思想来源于对现实世界的认知。现实世界缤纷复杂、种类繁多,难于认识和理 解。但是聪明的人们学会了把这些错综复杂的事物进行分类,从而使世界变得井井有条。比如我们由各式 各样的汽车抽象出汽车的概念,由形形色色的猫抽象出猫的概念,由五彩斑斓的鲜花抽象出花的概念等。 ...
[叩响C#之门]写给初学者:平移变换

[叩响C#之门]写给初学者:平移变换

[叩响C#之门]写给初学者:平移变换2011-10-17 梁斌玉 17.9 坐标变换默认情况下,坐标系的原点位于视图区域的左上角,水平方向为x轴,竖直方向为y轴。但有时候我们 需要改变坐标轴的位置或方向,这时就需要坐标变换。常用的坐标变换有平移变换、旋转变换和伸缩变换 三种。17.9.1 平移变换平移变换是指把坐标系的原点由一个位置平移到另一个位置,我们可以通过Graphics 类的 TranslateTransform()方法实现平移变换。下面我们通过一...
<< 81 82 83 84 85 86 87 88 89 90 >>