main函数

1. LINQ入门学习记录—Lambda Expressions

落爺英雄遲暮 提交于 2020-03-08 02:35:05
1. 前言 2. Lambda表达式概念 3. Lambda表达式树的概念和示例 4. Lambda表达式的简单应用 5. 总结 前言 在LINQ刚发布的时候,一直也没有时间去研究下LINQ,特别是在当时各种LINQ to ***纷纷出现,看得眼花缭乱。 在LINQ中增加的lambda表达式一直觉得挺神秘的,看到各位高手把lambda表达式运用得如火纯清,很是羡慕. 最近抽 空学习了解了下LINQ, 对学习的过程进行记录。文章基础,高手请飘过 :-) 计划学习的主要内容是lambda表达式,LINQ to Objects, LINQ to XML. 三个部分。 学习之前,推荐一款帮助学习LINQ的优秀工具LINQPad,下载地址: LINQPad下载 。 【另注:学习过程未免出现差错,欢迎指正】 Lambda表达式的概念 什么是lambda表达式?Lambda 表达式是一种匿名函数,它可以包含表达式和语句,并且可用于创建委托或 表达式目录树类型。我们使用lambda表达式可以帮助我们编写精简和紧凑的代码,许多操作中允许自定义排序和过 滤的函数,在.NET2.0的时候通常使用委托函数来实现,在.NET3.5可以使用lambda表达式。 现在举例说明lambda表达式: Func<int,int> addOne= item=> item+1 ,其中操作符 “ => ”读作“Goes

第三章 字符串、向量和数组

牧云@^-^@ 提交于 2020-03-07 11:04:58
3.2 1 #include <iostream> 2 #include <string> 3 4 using std::cin; 5 using std::cout; 6 using std::endl; 7 using std::string; 8 9 int main() 10 { 11 string line; 12 while (getline(cin, line)) 13 cout << line << endl; 14 return 0; 15 } 一次读入一行 1 #include <iostream> 2 #include <string> 3 4 using std::cin; 5 using std::cout; 6 using std::endl; 7 using std::string; 8 9 int main() 10 { 11 string word; 12 while (cin >> word) 13 cout << word << endl; 14 return 0; 15 } 一次读入一个单词 3.3 输入运算符:自动忽略string类对象开头的空白(即空格符、换行符、制表符等),并从第一个真正的字符开始读起,直到遇见下一处空白为止。 getline函数:从给定的输入流中读入内容,直到遇到换行符为止(换行符也被读进来了)

C#学习(13)接口,抽象类,SOLID,单元测试,反射

烈酒焚心 提交于 2020-03-07 06:51:38
什么是接口和抽象类 接口和抽象类都是“软件工业产物” 具体类→抽象类→接口:越来越抽象,内部实现的东西越来越少 抽象类是未完全实现逻辑的类(可以有字段和非public成员,它们代表了“具体逻辑”),不可被实例化 抽象类为复用而生:专门作为基类来使用,也具有解耦功能 封装确定的,开放不确定的,推迟到合适的子类中去实现 接口是完全未实现逻辑的“类”(“纯虚类”;只有函数成员;成员全部public) 接口为解耦而生:“高内聚,低耦合”,方便单元测试 接口是一个“协约”,早已为工业生产所熟知(有分工必有协作,有协作必有协约) 他们都不能实例化,只能用来声明变量,或引用具体类的实例 为做基类而生的“抽象类”与“开放/关闭原则” 抽象类: namespace Class { class Program { static void Main ( string [ ] args ) { Vehicle v = new RaceCar ( ) ; v . Run ( ) ; } } abstract class Vehicle { public abstract void Run ( ) ; public void Fill ( ) { Console . WriteLine ( "Pay and fill" ) ; } public void Stop ( ) { Console .

开始系统学习C++

半城伤御伤魂 提交于 2020-03-07 03:25:44
C++初识 C++程序样例 main()函数 1.作为接口的函数头 2.为什么 main() 不能是其他名称 C++ 预处理器和 iostream 文件 C++程序样例 /** * Author@Cheng Feitian * Date: 2020-3-6 * Function: 显示消息 */ # include <iostream> int main ( ) { using namespace std ; cout << "Come up and C++ me some time." ; cout << endl ; cout << "You won`t regret it!" << endl ; return 0 ; } main()函数 根据上述代码,可以抽象出 C++ 的基本结构: int main ( ) { statements ; return 0 ; } 与 C 语言差别不大,组成: int main () 称为函数头; 花括号({和})包含的部分称为函数体。 最后一句称为返回语句。 1.作为接口的函数头 需要谨记的是,C++ 句法要求 main() 函数的定义以函数头 int main() 开始。 通常来说,C++ 函数可被其他函数激活或调用,函数头描述了函数与调用他的函数之间的接口。位于函数名前面的部分叫做函数的返回类型

C语言第三章自述 1

烈酒焚心 提交于 2020-03-06 10:26:16
** 框架** 3.1C语句概述 (语句描述了一种行为,是向计算机发出的执行某一操作的指令) 1.表达式语句 表达式后加一个“;”构成表达式语句。 例: 加入存在变量定义: int a,b; 以下语句存在意义: a=3; //赋值表达式构成语句,赋值变量a b=a+3; //赋值表达式构成语句将a+3的结果赋给b a++; //自加表达式构成语句,执行后变量a自加 a=3,b=4; //逗号表达式构成语句,执行后变量a的值为3,b的值为4 2.流程控制语句 (1)选择结构的控制语句:if双分支选择结构,which多分枝选择结构。 (2)循环结构控制语句:while语句和for语句控制的当型循环结构,do~while控制的直到型循环结构。 (3)控制流程转换语句:又称为跳转语句,包括break,contiune,goto,return语句。 3.空语句:只有一个分号,用于完善选择结构和循环结构。 4.复合语句 以花括号“{ }”括起来的功能相对完善的程序段。 例: #include <stdio.h> int add(int x, int y) { int t; t = x + y; return (t); } void main() { int a, b, sum; scanf("%d%d", &a, &b); sum = add(a, b); printf("sum=%d\n",

go slice切片引用类型详解

守給你的承諾、 提交于 2020-03-06 04:43:45
Golang的引用类型包括 slice、map 和 channel 。它们有复杂的内部结构,除了申请内存外,还需要初始化相关属性。 内置函数 new 计算类型大小,为其分配零值内存,返回指针。而 make 会被编译器翻译成具体的创建函数,由其分配内存和初始化成员结构,返回对象而非指针。 package main func main ( ) { a := [ ] int { 0 , 0 , 0 } // 提供初始化表达式。 a [ 1 ] = 10 b := make ( [ ] int , 3 ) // make slice b [ 1 ] = 10 c := new ( [ ] int ) c [ 1 ] = 10 // ./main.go:11:3: invalid operation: c[1] (type *[]int does not support indexing) } 引用类型 变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收。 获取指针类型所指向的值,使用:” * “ 取值符号 。比如:var p int, 使用*p获取p指向的值 ** 指针、slice、map、chan **等都是引用类型。 new和make的区别 make 用来创建map、slice、channel new 用来创建值类型 new 和 make 均是用于分配内存:

python基础面试题整理---从零开始 每天十题(03)

别说谁变了你拦得住时间么 提交于 2020-03-06 02:54:36
一、Q: 用Python输出一个Fibonacci数列?(斐波那契额数列)   A:我们先来看下代码 #!/usr/bin/env python # -*- coding: utf-8 -*- def fib_recur(n): if n <= 1: return n return fib_recur(n - 1) + fib_recur(n - 2) for i in range(1, 20): print(fib_recur(i), end=" ") 我们来详细的看一下代码,我们知道斐波那契数据为1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,由此我们可以得知,   F(0) = 0   F(1) = 1,   F(2) = F(1) + F(0),   F(3) = F(2) + F(1),   F(4) = F(3) + F(2),   F(5) = F(4) + F(3) 所以我们可以得知F(n) = F(n-1) + F(n-2)。 二、Q:介绍一下Python中webbrowser的用法?   A:webbrowser主要是用来驱动浏览器进行操作的,最简单的实例。 #!/usr/bin/env python # -*- coding: utf-8 -*- import webbrowser as

go学习笔记

孤者浪人 提交于 2020-03-05 16:27:12
变量 命名规范 变量需要以小驼峰方式来命名,列如: var studentName string 声明方式 直接声明类型 var childName string childName = "mark" 直接赋值 var childName = "mark" 简短赋值 childName := "mark" 简短赋值只能用在func内 常量 定义方式 const pi = 3.1415926 const ( n1 = 100 n2 n3 //n2,n3值与上面n1一致 ) iota go语言中常量计数器,只能在常量中使用。初始化时为0,const中每新增一行常量声明将使iota计数一次 const ( a = iota //0 b //1 c //2 _ d //4 ) 字符串 go语言中字符串使用双引号,单引号是字符 name := "mark" desc := "good" personDesc := name + desc personDesc := fmt . Sprintf ( "%s%s" , name , desc ) //字符串分割 info := "ddd/ddd/dddd/dd" ret := strings . Split ( info , "/" ) //包含 strings . Contains //判断前缀和后缀 strings . HasPrefix

Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程

那年仲夏 提交于 2020-03-05 00:36:02
队列(queue) 队列只在多线程里有意义,是一种线程安全的数据结构。 get与put方法 ''' 创建一个“队列”对象 import queue q = queue.Queue(maxsize = 10) queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。 将一个值放入队列中: q.put() 调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为True。如果队列当前为空且block为True,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为False,put方法将引发Full异常。 import queue q=queue.Queue(3) q.put(11) q.put(22) q.put(33) q.put(44,False) #queue.Full ==q.put_nowait() 将一个值从队列中取出 q.get() 调用队列对象的get()方法从队头删除并返回一个项目。可选参数为block,默认为True。如果队列为空且block为True,get()就使调用线程暂停,直至有项目可用。如果队列为空且block为False

golang基础--细说defer

走远了吗. 提交于 2020-03-04 19:09:39
defer 匿名函数特性 执行方式类似其它语言中的析构函数,在函数体执行结束后按照调用顺序的 相反顺序 逐个执行 //执行顺序相反 package main import "fmt" func main() { fmt.Println("a") defer fmt.Println("b") defer fmt.Println("c") } /*输出 a c b */ 即使函数发生 严重的错误 也会执行,类似于try...except 常用于 资源清理,文件关闭,解锁以及记录时间等操作 支持匿名函数的调用 通过于匿名函数配合可在return之后修改函数计算的结果 -如果函数体内某个变量作为defer时匿名函数的参数,则在定义defer时即已经获得了拷贝,否则 则时引用某个变量的地址 //支持匿名函数 package main import "fmt" func main() { for i := 0; i < 3; i++ { defer func() { //函数体内的变量传递到defer匿名函数 fmt.Println(i) //此时引用的时变量i的地址 }() } } /*输出 3 3 3 */ Go没有异常机制,但有panic/recover模式来处理错误 Panic可以在任何地方引发 panic错误机制 //panic 错误机制,遇到panic语句后,后面不会再执行