日常问题总结 一

#堆和栈的区别

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

#下面程序的执行结果?

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

)

时间: 2024-08-09 22:19:18

日常问题总结 一的相关文章

caffe日常坑系列之:undefined reference to symbol '_ZN2cv6String10deallocateEv'

在使用caffe库编译C++时出现的 解决如下: /usr/bin/ld: /tmp/ccA5JGRP.o: undefined reference to symbol '_ZN2cv6String10deallocateEv'//usr/local/lib/libopencv_core.so.3.2: error adding symbols: DSO missing from command line解决:sudo apt-get autoremove libopencv-dev caffe

MHA 日常维护命令集

MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 2.查看复制是否建立好 masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 3.启动mha noh

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

SQL 基础之用户角色日常操作(十六)

在数据库管理中一定本着一个原则就是权限最小化的原则,如果有需要在赋予相应的权限 数据库管理员日常对于用户的管理任务如下: – 创建新用户 – 删除用户 – 删除表 – 备份表 1.创建用户yuri,并设置密码为password. create user  yuri identified by password; 2.用户创建之后, DBA 会赋予用户一些系统权限 以应用程序开发者为例, 一般具有下列系统权限: - create session -create table -create sequ

Oracle 数据库日常巡检

Oracle 数据库日常巡检 阅读目录 1. 检查数据库基本状况 2. 检查Oracle相关资源的使用情况 3. 检查Oracle数据库备份结果 4. 检查Oracle数据库性能 5. 检查数据库cpu.I/O.内存性能 6. 检查数据库安全性 7. 其他检查 回到顶部 1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name,host_name,sta

python日常-list

什么事list: list 觉得算是python日常编程中用的最多的python自带的数据结构了.但是python重的list跟其他语言中的并不相同. 少年..不知道你听说过python中的append方法比insert方法的效率高非常多呢?什么,你不知道?请容老衲慢慢道来. 其他编程语言中list也叫链表,大抵就是除了最后一个元素外,所有元素的中都有一个指针,这个指针只想下一个元素节点的引用. 如果你想添加元素的话 把最后一个元素里的指针指向你想要app元素即可,插入呢?嘿嘿 这个时候你只要把

Maven日常 —— 你应该知道的一二三

以前在日常工作中,使用Maven只是机械的执行Maven clean.Maven install,对其中的原理与过程并无了解,近期阅读了<Maven实战>,对Maven有了更深入的理解. 本篇就针对读书后的理解,对Maven的日常使用相关的知识进行总结与归纳. 如果想要了解更多内容参考:<Maven实战> 1 什么是Maven? 如果没有Maven,你可能不得不经历下面的过程: 1 如果使用了spring,去spring的官网下载jar包:如果使用hibernate,去hibern

第八篇 EBS实现企业日常业务运管模型的解决方案设计思路

常业务运管模型企业有大有小,各行各业,千差万别,但,其日常业务运管也有相通之处,以典型的制造企业为例,其日常业务运管模型如下图所示: (1)企业日常业务运管模型在市场经济条件下,一个生产型企业往往会从供应市场上购买原材料(生产资料供应市场,人力资源市场等),经过一系列加工制造过程生产出客户需要的产品或服务,然后通过物流运输等形式交付给客户,实现价值创造.在能够持续盈利的情况下可以实现扩大再生产,持续发展壮大.从创业期过渡到发展期.继而过渡到壮大期.继而过渡到稳定期,随着市场盈利空间的变化还可能谋

.NET高级群日常一篇

.NET高级群日常(开头聊php,他们可是.NET的顶尖战力之一)太阳神:单从网页的角度来说,两者是类似的老猫子:只要你够牛逼 什么语言都不是问题太阳神:PHP的优势在于轻量,劣势在于应用处理能力不足宇内流云:用owin,.net一样的轻量!太阳神:包括PHP很难写出复杂的处理逻辑,还有执行模型决定了CPU密集型的程序很难写太阳神:PHP的执行模型是IO密集型的宇内流云:PHP不是语言强!也不是平台强!强大在动态网页方面积累了太多的年份,有大量的可以重复利用的源码资源,甚至现存的开源的成品网站!

KVM虚拟机的安装和日常管理

公司为了节约成本,需要把一部分业务迁到虚拟化平台上,今天把虚拟机装了出来,记一下笔记 1.物理机的系统安装(硬盘为300G+300G): centos6.5 64位,不安装桌面环境,默认运行级别为3 分区: /boot 128M swap 8G / 20G /data1  第一块硬盘剩余空间 /data2  第二块硬盘全部空间 采用最小化安装+以下软件包: BaseSystem -- Base Development-- Development tools 要配置好dns 确定系统时间与北京时间