文档章节

日常问题总结 一

zhixin9001
 zhixin9001
发布于 2017/07/20 22:26
字数 1339
阅读 6
收藏 0

#堆和栈的区别

栈是编译期间就分配好的空间,因此在代码中必须就栈的大小有明确的定义。局部值类型变量、值类型参数等都在栈内存中。堆是程序运行期间动态分配的内存空间,可以根据程序的运行情况调整分配的堆内存大小。

 

#下面程序的执行结果?

inti = 10;

Console.WriteLine(i++);=>10 

Console.WriteLine(++i);=>12

i++表达式的值为i自增之前的值,所以打印10,执行完成后i变成11,执行++i的时候表达式的值为自增以后的值12。

#在dotnet中类(class)与结构(struct)的异同?

Class可以被实例化,属于引用类型,是分配在内存的堆上的,引用传递。Struct属于值类型,是分配在内存的栈上的,复制传递。Int32、Boolean等都属于结构体。

 

#请叙述属性与索引器的区别   

属性通过名称标识。索引器通过签名标识。属性通过简单名称或成员访问来访问。索引器通过元素访问来访问。属性可以为静态成员或实例成员。索引器必须为实例成员。属性的get访问器没有参数。 索引器的get访问器具有与索引器相同的形参表。属性的set访问器包含隐式value参数。除了value参数外,索引器的set访问器还具有与索引器相同的形参表。

 

# C#中的接口和类有什么异同

实例化、继承、成员方面

 

# 抽象类和接口的异同

相同点: 都不能被直接实例化,都可以通过继承实现其抽象方法。

不同点: 接口支持多继承;抽象类不能实现多继承。接口只能定义行为;抽象类既可以定义行为,还可能提供实现。 接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。 

#虚方法的使用场合、与接口的区别

子类重新定义父类的某一个方法时,必须把父类的方法定义为virtual。在定义接口中不能有方法体,虚方法可以。实现时,子类可以不重新定义虚方法,但如果一个类继承接口,那必须实现这个接口。

 

#C#中的委托是什么,事件和委托的关系。

委托可以理解为函数指针。委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值,事件内部就是一个private的委托和add、remove两个方法

 

#能用foreach遍历访问的对象的要求

需要实现IEnumerable接口或声明GetEnumerator方法的类型。

 

#using关键字有什么用?什么是IDisposable?

using可以声明namespace的引入,还可以实现非托管资源的释放。实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源。using用于资源释放时,等价于try……finally。

 

#WebService基本概念

WebService解决的三个问题:接口的自我描述;采用Http协议等常规协议,不用写原始的Socket;基于Web服务器,不占用80端口之外的端口。

UDDI(Universal Description Discovery and Integration)用来自动发现WebService的协议。

WSDL(WebService Defination Language)是对WebService上的方法名、参数进行描述的协议。对接口的自描述。

SOAP(Simple Object Access Protocol)是对参数、返回值以什么样的格式进行传递进行描述的协议,是对报文的格式规范。

SOAP和HTTP的关系:SOAP基于Http协议的,和普通网页不同的是网页返回HTML,SOAP则是符合SOAP协议的XML数据。

 

#横纵表转换

纵表结构 TableA 

Name

Course

Grade

张三

语文

75

张三

数学

80

张三

英语

90

李四

语文

95

李四

数学

55

 横表结构 TableB

Name

语文

数学

英语

张三

75

80

90

李四

95

55

0

 

纵表转横表:

selectName,

sum(caseCourse when '语文' then Grade else 0 end) as Chinese,

sum(caseCourse when '数学' then Grade else 0 end) as Math,

sum(caseCourse when '英语' then Grade else 0 end) as English

fromTableA

groupby Name

横表转纵表:

select* from

(

       select Name,Course='语文',Grade=Chinese fromTableB

       union

       select Name,Course='数学',Grade=Math fromTableB

       union

       select Name,Course='英语',Grade=English fromTableB

) awhere grade!=0

orderby Name,Grade desc

#删除姓名、年龄重复的记录,只保留ID最大的一条

1     tom       18   3000

2     tom       18   3300

3     gal  28   2000

4     tim  28   2200

5     gal  28   2020

select* from T_Duplicate where ID in

(

       select MAX(id) from T_Duplicate

       group by name,age

)

© 著作权归作者所有

共有 人打赏支持
zhixin9001
粉丝 6
博文 100
码字总数 80837
作品 0
西安
私信 提问
开发项目细节问题小结

没事写个日常项目中开发的一些小问题总结个笔记: 1、empty的使用:   可能新手在开发中或多或少的会遇到这个问题,在if判断的时候empty使用比较多,但要注意empty的参数只能为变量,他不接...

张涛泽
2017/04/19
0
0
Spark:将DataFrame 写入mysql

DataFrame 写入mysql 效率问题 上面两段代码为DataFrame写入mysql关键源代码 一开始我觉得DataFrame写入mysql效率感人,太慢了,想了各种手段去优化,最快的是把文件拿下来,load进mysql,但...

利伊奥克儿
10/12
0
0
(51talk和vipkid哪个好)一年收费标准多少钱

51talk和vipkid哪个好?我在决定报培训班学英语之前对比了好多家,51talk和vipkid英语是重点了解之一,不过可惜最后还是没选择在51talk和vipkid学习英语。原因有两个:一.51talk英语的外教大...

ming027918
05/12
0
0
【原创】还记得我们折腾过的居中么?

虽然div中内容上下居中的问题已经是一个比较古老的话题,但是最近发现还是有很多前端开发者在询问如何实现。其实网络上已经有很多资料和案例了,我这里再总结一下几个比较常见的处理方式。 ...

Mr.Zheng
2014/10/27
0
1
网络销售推广专员岗位描述

网络销售推广专员岗位描述 网络销售推广专员的首要工作任务是增加公司电子商务网站的访问量,提升公司电子商务站点的成交量。 密切观察公司电子商务站点的流量情况,从中分析总结出有效提高公...

小徐-黛曼
2015/01/07
3
2

没有更多内容

加载失败,请刷新页面

加载更多

window下安装maven

1.下载软件包: 2.解压到当前的安装路径: D:\Maven3.5.3 3.添加环境变量: 新建一个名为:MAVEN_HOME 填写解压路径:D:\Maven3.5.3 打开path,添加:%MAVEN_HOME%\bin 确定即可。 4.验证环境...

狼王黄师傅
8分钟前
0
0
聊聊flink的FsCheckpointStorage

序 本文主要研究一下flink的FsCheckpointStorage CheckpointStorage flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/CheckpointStorage.java /** * CheckpointStor......

go4it
30分钟前
2
0
makefile 常用函数

Linux 环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是 Unix程序员。今天我们来学习下makefile的常用函数。 《GNU make》h...

科陆李明
今天
17
0
Android 报错 Could not find com.android.tools.build:aapt2:3.2.1-4818971.

报错信息: Could not find com.android.tools.build:aapt2:3.2.1-4818971.Searched in the following locations: file:/C:/Users/96110/AppData/Local/Android/Sdk/extras/m2reposito......

lanyu96
今天
9
0
我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
今天
34
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部