Visual C#时尚编程百例 PDF 超清版

  • 更新时间:
  • 9826人关注
  • 点击下载

给大家带来的一篇关于C#编程相关的电子书资源,介绍了关于Visual、C#、C#编程方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小11.91MB,网冠科技编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.5分

资源详情相关推荐
Visual C#时尚编程百例
  • 出版社:机械工业出版社
  • 作者:网冠科技
  • 大小:11.91MB
  • 类别:C#编程
  • 热度:793
  • 零点起飞学C#
  • C#入门经典(第5版)
  • Visual C# 2010从入门到精通
  • C#.NET企业级项目开发教程
  • C#与.NET.3.5高级程序设计(第4版)
  • Visual C#时尚编程百例

    作者:网冠科技编著

    出版时间:2002-7-1

    丛编项:时尚百例丛书 编程类

    本书通过100个精选的实例,由浅入深地介绍了Visual C#程序设计的方法和技巧,方便读者学习从及深入地理解Visual C#。本书的主要内容有:C#初级编程、Windows程序设计、控制语句、网络编程、数据库编程、进程和线程、高级CGI、游戏和工具。在实例中,除了介绍Visual C#主要的知识点外,还重点介绍了Visual C#在网络编程、数据库编程和游戏编程等方面的应用,使读者能够真正掌握C#语言。 本书附赠一张光盘,其主要内容包括:100个实例的源代码、资源文件、可执行文件等。 本书体系结构清晰,解释说明详细,开发实例典型,可作为广大计算机工作者和爱好者进一步学习C#语言的参考书,也可供相关计算机语言爱好者参考使用。

    展开阅读
    精选笔记:使用C# 判断给定大数是否为质数的详解

    15小时30分钟前回答

    C#判断给定大数是否为质数,目标以快速度得到正确的计算结果。
    在看到这道题的时候,第一反应这是一道考程序复杂度的题,其次再是算法问题。
    我们先来看看质数的规则:
    Link:http://en.wikipedia.org/wiki/Prime_number
    C#求质数代码:
    复制代码 代码如下:

    public bool primeNumber(int n){
                 int sqr = Convert.ToInt32(Math.Sqrt(n));
                 for (int i = sqr; i > 2; i--){
                     if (n % i == 0){
                         b = false;
                     }
                 }
                 return b;
             }
    显然以上代码的程序复杂度为N
    我们来优化下代码,再来看下面代码:
    复制代码 代码如下:

    public bool primeNumber(int n)
             {
                 bool b = true;
                 if (n == 1 || n == 2)
                     b = true;
                 else
                 {
                     int sqr = Convert.ToInt32(Math.Sqrt(n));
                     for (int i = sqr; i > 2; i--)
                     {
                         if (n % i == 0)
                         {
                             b = false;
                         }
                     }
                 }
                 return b;
             }
    通过增加初步判断使程序复杂度降为N/2。
    以上两段代码判断大数是否质数的正确率是100%,但是对于题干
      1.满足大数判断;
      2.要求以最快速度得到正确结果;
    显然是不满足的。上网查了下最快算法得到准确结果,公认的一个解决方案是Miller-Rabin算法
    Link:http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test
    Miller-Rabin 基本原理是通过随机数算法判断的方式提高速度(即概率击中),但是牺牲的是准确率。
    Miller-Rabin 对输入大数的质数判断的结果并不一定是完全准确的,但是对于本题来说算是一个基本的解题办法了。
    Miller-Rabin C# 代码:
    复制代码 代码如下:

    public bool IsProbablePrime(BigInteger source) {
                 int certainty = 2;
                 if (source == 2 || source == 3)
                     return true;
                 if (source < 2 || source % 2 == 0)
                     return false;

                 BigInteger d = source - 1;
                 int s = 0;

                 while (d % 2 == 0) {
                     d /= 2;
                     s += 1;
                 }

                 RandomNumberGenerator rng = RandomNumberGenerator.Create();
                 byte[] bytes = new byte[source.ToByteArray().LongLength];
                 BigInteger a;

                 for (int i = 0; i < certainty; i++) {
                     do {
                         rng.GetBytes(bytes);
                         a = new BigInteger(bytes);
                     }
                     while (a < 2 || a >= source - 2);

                     BigInteger x = BigInteger.ModPow(a, d, source);
                     if (x == 1 || x == source - 1)
                         continue;

                     for (int r = 1; r < s; r++) {
                         x = BigInteger.ModPow(x, 2, source);
                         if (x == 1)
                             return false;
                         if (x == source - 1)
                             break;
                     }

                     if (x != source - 1)
                         return false;
                 }

                 return true;
             }
    展开阅读
    精选笔记:浅析C#与C++相关概念的比较

    13小时48分钟前回答

    1、在C#中,class的变量为引用类型,在C++中class的变量为值类型,如myclass mc,在C++中,mc是值类型,成员存储在程序的栈区,在C#中,mc是引用类型,指向堆中的成员。

    2、switch语句,C#中case后面可根字符串,如case “abc“,但在C++中却不行,C++中case后面只跟数字,字符,和枚举。

    3、在C#中没有C++中的私有继承和保护继承,只有公有继承。

    4、C#中可以通过关键字sealed把一个类声明为密封类,即不能被作为父类被继承出派出类,在C++中可通过把构造函数声明为private,让其不能被作为父类被继承出派出类,且同时不能实例化,但可通过类的静态函数调用构造函数来产生实例。

    5、C#支持用户自定义类型转换,可通过关键字implicit定义隐式转换,可通过关键字explicit定义显式转换。在C++中,可通过重载 = 操作符来达到隐式转换的目的。

    6、在C#中,运算符重载则一定要把运算符重载函数定义为类的成员,且必须用static和public关键字修饰,且对于一元运算符重载,需要一个参数,对于二元运算符重载则需要两个参数。在C++中,运算符重载,有一个默认的隐含参数this,则一元运算符重载无需参数,二元只需一个参数。而且C#中不能重载 = 号运算符。

    7、C#的catch语句有一个不带任何参数的一般catch语句,它相当于C++中的catch(...)。

    8、C#中用关键字abstract来声明一个类为抽象类,抽象类不能实例化。在C++中通过声明一个纯虚函数来使一个类变成抽象类,同样不能实例化。

    9、对于结构类型,即用关键字struct定义的数据结构,在C++中它与class的用法和功能相近,只是用class定义默认成员的访问权限是私有的,而stract默认成员的访问权限是公有的。而C#中class的变量是引用类型,而struct定义的变量则是值类型,成员的访问权限与class一样。注意,C#中结构不允许有析构函数。

    10、对于结构类型,预定义的无参数构造函数对每个结构都存在,不能删除或重定义它,可以重载构造函数,但必须带有参数。

    11、在C#中数组是对象,继承于System.Array,拥有一定的操作方法,并且数据是引用类型,引用在栈或堆上,而数组对象本身则在堆中。C++中数组只是数据或类的对象的一个集合,数组本身并不是对象,但数组中的元素可以是对象,数组本身可在栈中或在堆中。C#并不支持动态数组,而C++则可以通过new动态分配内存,实现动态数组。

    12、在C#中存在一种叫接口的数据类型,它是一组函数的声明并没有实现函数的引用类型,不能实例化,只有类才能实现接口,实现接口必须实现接口中的所有声明的函数。在C++中虽然没有这种默认数据类型,但是在C++中可以自己创建一个接口类型,就是把里面的函数全部声明纯虚函数,并不含数据成员,来实现相同的功能。

    13、C#中一个类可以实现多个接口,各个接口必须以‘,'分隔,如果还有基类,则基类必须写在最前面,如果多个接口中有多个相同的签名和返回类型的接口成员,类则可以实现单个成员来满足所有包含重复成员的接口。这是C#中的默认方式,也可以用点运算符来指定实现的成员所属的接口。这与C++中的多继承而产生的歧义问题相似,它并不提供这种默认的机制,在C++中则是相对自由的,你可以通过域运算符来指明你所调用的是哪个基类的成员,或是你实现的是哪个基类的成员。若你只想你的派生类对同一签名的函数或成员只有一份实现,则可以使用虚继承的方法来实现。

    14、在C#中类只能单继承不能实现多继承,而对于接口,接口可以实现单继承和多继承,而实现它的类必须对接口继承体系中所有的接口成员提供实现。

    15、在C#中存在叫装箱和拆箱的转换,为什么会有这两种转换,是因为C#中的变量数据有的保存在堆中(引用类型),有的则保存在栈中(值类型),当要把值类型赋给引用类型时,就要把值类型装箱,反之则需要拆箱。而且拆箱是显式转换。装箱之后,引用类型在堆中保存的值是原值类型的一个副本。在C++中则不存在这样的问题,因为变量数据默认是保存在栈中的,若要保存在堆中则需要用到指针,要赋值则需要p->data = data或(*p).data = data。也可以通过重载‘='运算符来达到隐式转换的效果。

    16、在C#的泛型编程中,可用关键字where来对类型参数进行约束,例如class myclass<T1, T2, T3> where T2:cls2 where T3:In3。则只有cls2类型或其派生类型才能作为T2的实参,而只有In3接口类型才能作为T3的实参。这与C++中泛型编程中的模板特化和模板偏特化相似,在C++中可以用这样的形式实现相似的功能,class myclass<T1, cls, In3>。

    展开阅读

    资源下载

    相关资源

    • C#灰帽子:设计安全测试工具

      C#灰帽子:设计安全测试工具

      大小:87 MBC#

      立即下载
    • C#函数式程序设计

      C#函数式程序设计

      本书提供了众多的不同类型实例,这些实例结合了多个方法解决不同领域里的问题。既包括了并行计算和高性能计算等复杂的问题,也包括了Web服务和尚业逻辑实现等简单的用例

      大小:62.7 MBC#编程

      立即下载
    • C#初学者指南

      C#初学者指南

      C#初学者指南是一本C#语言的初学者的教程,涵盖了C#和.NET Framework语言中重要的主题。具有一定的参考价值,感兴趣的小伙伴们可以参考一下

      大小:3.38 MBC#编程

      立即下载
    • C# 2012数据库编程入门经典

      C# 2012数据库编程入门经典

      C# 2012数据库编程入门经典(第5版) 就是一本帮助具有C语言基础的程序员快速掌握数据库编程知识的书。书中包括了关系数据库的原理和用法,AD0.NET等常见的数据访问技术,以及丰富的T-SQL和

      大小:88.2 MBC#

      立即下载
    • C#开发实例大全(提高卷)

      C#开发实例大全(提高卷)

      C#开发实例大全(提高卷) 筛选、汇集了C#开发从基础知识到高级应用各个层面约600个实例及源代码,每个实例都按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读

      大小:339.5 MBC#开发

      立即下载

    学习笔记

    4小时30分钟前回答

    浅析C#与C++相关概念的比较

    1、在C#中,class的变量为引用类型,在C++中class的变量为值类型,如myclass mc,在C++中,mc是值类型,成员存储在程序的栈区,在C#中,mc是引用类型,指向堆中的成员。 2、switch语句,C#中case后面可根字符串,如case “abc“,但在C++中却不行,C++中case后面只跟数字,字符,和枚举。 3、在C#中没有C++中的私有继承和保护继承,只有公有继承。 4、C#中可以通过关键字sealed把一个类声明为密封类,即不能被作为父类被继承出派出类,在C++中可通过把构造函数声明为private,让其不能被作为父类被继承出派出类,且同时不能实例化,但可通过类的静态函数调用构造函数来产生实例。 5、C#支持用户自定义类型转换,可……

    9小时30分钟前回答

    浅谈C#与Java两种语言的比较

    C#与Java相比较 从整体上来看,c#和java及其相似,甚至超过了c#与c、c++的相似程度,下面是两种语言的比较。 两者都能编译成跨平台,跨语言的代码,而且代码能都在一个手控制的环境中运行。 两者都不需要头文件,所有代码都被限制在某个范围内,并且因为没有头文件,所有消除了类定义的循环依赖。 自动回收垃圾内存,并且取消了指针类型。 所有的类都是派生出来的,并且必须使用New关键字分配内存。 没有全局函数或者全局变量,一切变量和函数都属于类。 数组和字符串都自带长度计算和边界检查。 不能使用整数来返回到if条件语句中,必须使用布尔变量。 只使用 “ . ” 操作符,没有 “--”……

    12小时15分钟前回答

    详解Python 调用C# dll库最简方法

    1.为什么要跨平台编程?双平台编程或多平台编程,只是为提供更好开发更兼容的解决方案的一种手段,编程时服务于产品和客户的,也是因地制宜。 先安装python所需的库clr ,我这里已经安装了,可以去对应的根目录下查看有没有pythonnet这个文件夹。 2.首先要特别注意,你安装使用的Python的版本是对应x64还是x32的,python只能调用对应64位或32位的dll,可以右击启动项目的属性,修改并重新生成。 特别注意:启动项目和你的目标库不一样,前者输出类型是windows应用或是控制台,后者输出类型是类库,这个才是生成dll的类型。 3.再次,右击启动项目的属性,选则bin\Debug下的你想要的dll。 4.python中对动态链……