随笔分类 - DoNet-语法
摘要:http://www.cnblogs.com/pmer/archive/2012/01/20/2327745.html买了一辆宝马,但不知道如何正确使用,找头驴子拖着宝马满世界兜风。这情景多半会让人感到很滑稽。不正确地使用结构体,代码同样会产生一种滑稽的喜感。 只有按照合适的方式使用一件物品才能得到恰如其分的效果,而滥用一件物品只能起到适得其反的作用。/*题目:输入两个学生的学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。*/#include <stdio.h>int main(){struct Student { int num; char name[20]; flo..
阅读全文
摘要:http://www.cnblogs.com/cx361/archive/2012/01/18/2325154.htmlC#中方括号可用于数组,索引、属性,更重要的是用于外部DLL类库的引用。1. C#实现.NET组件与COM组件的互操作[DllImport("kernel32.dll")]这叫引入kernel32.dll这个动态连接库。这个动态连接库里面包含了很多WindowsAPI函数,如果你想使用这面的函数,就需要这么引入。举个例子:[DllImport("kernel32.dll")]private static extern void 函数名(
阅读全文
摘要:【http://www.cnblogs.com/dalmeeme/archive/2012/01/11/2319192.html】个人认为,提供params关键字以实现方法形参个数可变是C#语法的一大优点。在方法形参列表中,数组类型的参数前加params关键字,通常可以在调用方法时代码更加精练。例如,下面代码:class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.WriteLine(Sum(1, 2, ...
阅读全文
摘要:【http://www.cnblogs.com/love-liu/archive/2011/12/28/2305305.html】一直以来只知道“&&”是布尔与运算符,“||”是布尔或运算符,对之没有具体的认识了解。对“&”和“|”的定义很模糊,所以特意上网搜里一下这方面的材料,特意在MSDN中查看一番,然后根据将MSDN中四种运算符整理一下,使自己深刻的了解他们含义和区别:一,“&”和“&&”的含义和区别1,“&”含义:“&”运算符既可以作为一元运算符也可以作为二元运算符。一元“&”:运算符返回操作数的地址(要求(uns
阅读全文
摘要:【http://www.cnblogs.com/zhhh/archive/2011/12/28/2305358.html】初接触编程,确实感觉它抽象,而且很多时候觉得抽象的让人蛋疼。 以变量为例,最初还只是简单的数值,这很容易让人理解。可自面向对象思想流行以后,变量又引入了引用类型。突然之间,许多人又开始蛋疼起来。 其实,对变量而言,变量只是变量,引用类型的变量只是在使用变量存取数值的时候进行了一些稍复杂一点的处理——从以前的直接取值到从其值所表示的内存地址找相应的对象取值。 打个比方,将我作为一个主体。//我的年龄是多少?MyAge=24//我的体重是多少?MyWeight=70//我...
阅读全文
摘要:【http://www.cnblogs.com/JimmyZhang/archive/2008/12/17/1356727.html】
阅读全文
摘要:【http://www.cnblogs.com/IAmBetter/archive/2011/12/20/2294676.html】案例1:<原始的方法>static void Main(string[] args) { //委托的比较 //常规方式 int[] numbers = { 1,2,3,4,5,6,7,8,9,10}; List<int> evenNumber = new List<int>();//偶数 List<int> oddNumber = new L...
阅读全文
摘要:【http://www.cnblogs.com/IAmBetter/archive/2011/12/21/2296196.html】说一句题外话,本人学C# 不到一个月时间,今天同事说了2个 区别 抽象类与区别,我感觉请教前辈 超过自己的看10个小时的理解。抽象类abstract抽象方法的类要声明为抽象类构造函数和静态方法不能声明为抽象多态性是一个虚方法,可以重写这个方法,实现同一个方法不同的表现形式对于抽象方法的重写,是说的对于这个方法的派生类的实现。对于抽象类和接口的方法都需要实现。抽象方法是无法写方法体的抽象类可以写 实现的方法接口不可以写 实现的方法案例1:using System;u
阅读全文
摘要:【http://www.cnblogs.com/guowenhui/archive/2011/12/18/2291781.html】定义:所谓泛型,即通过参数化类型实现在同一份代码上操作多种类型的数据,泛型编程是一种范式的转化(在这里体现为类型的晚绑定),他利用参数化类型,将类型抽象化,从而实现代码的灵活复用,精简代码。泛型的好处: a.减少了对对象进行装箱和拆箱所导致的性能成本,提高了效率。 b.赋予了代码更强的类型安全。 c.实现了更为灵活的代码复用。注:1.NET参数化类型不是编译(JIT编译)时被实例化,而是运行时被实例化。 2.由微软在产品文档中提出建议,所有的泛型参数名称都以T..
阅读全文
摘要:【http://www.cnblogs.com/CareySon/archive/2009/12/15/1624728.html】在正式开始之前,我需要先声明:这些关键字对于偏向底层的程序员更加耳熟能详,对这些关键字不了解并不影响你作为一个合格的程序员。这意味着这些关键字会让你在编写程序时得到更好的代码质量和可读性,enjoyyieldyield关键字会告诉编译器当前的函数是在一个循环内部,编译器会相应生成一个执行它在循环体内部所表示行为的类,yield和return关键字一起用于为枚举器对象提供返回值,比如说:在foreach内部的每一次循环内,yield关键字用于终止当前循环: ...
阅读全文
摘要:【http://www.cnblogs.com/NatureSex/archive/2011/12/13/2285549.html】本文纯属园友交流之用,你能写去多少种 return 的使用场景,注意是使用形式。(欢迎补充。。) C#中return关键子字是我们用的再常用不过的一个语法了,然而你用到过他们所有的表现形式吗?下面我就来一一演示它出现的各种场合,仅限于个人能想到的,还是那句话,强烈欢迎补充。。共同进步。1.第一种我们常见的格式1 public int CalcNum(int x, int y)2 {3 return x * y;//返回一个整形值4 }复制代码2...
阅读全文
摘要:【http://www.cnblogs.com/kingmoon/archive/2011/05/03/2035696.html】"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达式或语句块。Lambda表达式x => x
阅读全文
摘要:【http://www.cnblogs.com/kingmoon/archive/2011/12/11/2284319.html】介绍Flags关键字允许我们在使用.net 枚举变量时,使用多个组合值使用演示1[Flags]2enumWeekDays3{4//注意:这里不要将Sunday设置为0x0,至于为什么留给大家思考5Monday=0x1,6Tuesday=0x2,7Wednesday=0x4,8Thursday=0x8,9Friday=0x10,10Saturday=0x20,11Sunday=0x4012}复制代码 只需要在Enum上使用上[Flags]标签即可标记为可组合的枚举.下
阅读全文
摘要:最近看到一篇回调函数的文章,现转帖一下-------------------------------------------------------------------回调函数,我们经常在Windows用到,可到了如今让我自己给别人提供回调函数,着实让我懵了一把。这东西怎么是实现啊?——以前我可是总使用别人的。什么是回调函数呢?它的原理机制又是怎么样的呢?从英文单词的理解到使用方法的分析,我自己总结了一下,不知是否正确,大家给些想法。打个通俗的比方:老板给我交代一项任务(我当然是力巴了),让我给A项目做个方案,尽快完成,完成后给他打个电话,并把报价和项目周期告诉给他,他要和用户联系并对项目
阅读全文
摘要:在开发称重软件过程中,用到了各种各样的技术框架和概念,个人接触比较多点的还是List<T> 了,也比较感兴趣,毕竟.net中的List<T>非常方便,但是很遗憾是没有自带更方便的一些排序查找之类的函数,很多都得我们自己写函数,这非常的麻烦,其实这些方法想要的只是一个一句话的delegate而已。下面主要讨论三个方法,List<T>.Sort();List<T>.Find();List<T>.Exist(); 首先看List<T>.Sort()。其定义是:public void Sort( Comparison<T&g
阅读全文
摘要:1 让值类型为空:泛型使用system.Nullable<T>类型。如: System.Nullable<int> nullableInt nullableInt=Null; 2 hasValue方法可以测试system.Nullable<T>类型的变量有没有值,而引用 类型就不能随便用这个方法,因为引用变量为Null(对象不存在)的时候调用 HasValue方法时会抛出异常 3 int?是System.Nullable<int>的缩写,int和int?之间要运算必须转换和判 断,同理bool? 4 ??运算符(可空变量处理),提供默认值的一种方
阅读全文
摘要:delegate void dg1(string str1);private void button1_Click(object sender, EventArgs e){dg1 dg2 = new dg1(Show);dg2("Successful");}private void Show(string strShow){MessageBox.Show(strShow);}//委托四步曲//1、声明委托//2、欲委托的方法(同参数、同返回值)//3、实例化委托//4、调用委托实例//委托三统一//1、声明委托与欲委托方法的统一//2、声明委托与委托实例的统一//3、委托实
阅读全文
摘要:假设给我们一个泛型对象List<T>,T为int类型,要求我们使用该对象方法FindAll(Predicate<T> match)从中找出该List中的偶数,您如何实现? 说明一下:Predicate<T>是一个泛型委托,它的原型为public delegate bool Predicate<T>(T obj),该委托传入一个T类型对象,经逻辑判断后返回布尔值。委托 可能您首先想到的是用委托实现,实现方法如下: // 方法1 static void Method1(){ // 创建List<int>对象 List < int &
阅读全文
摘要:【http://www.cnblogs.com/wlflovenet/archive/2011/11/02/2230775.html】因为最近再带两个实习的朋友~ 他们在理解委托这块 不明白能用来做什么 对这块理解的不好 更不用说委托扩展来的 拉姆达表达式 事件等了~ 但是这些很重要 在MVC EF4.1 里 都会有很多拉姆达表达式的影子 在做组件开发 用户控件开发 事件的运用 一定也是少不了的 稍微深入点儿的说 用于两个对象之间的通讯 用来解耦 用委托事件 是很不错的选择 而设计模式里的观察者模式 也是基于委托事件的应用 还有做winform 开发的 里的线程 WPF SL 的异步调用等 都
阅读全文
浙公网安备 33010602011771号