#堆积如山和储藏室的分别

栈是编译期间即分配好的半空中,因此在代码中务必就栈的轻重来显而易见的定义。局部值类型变量、值类型参数等都于栈内存中。堆是程序运行期间动态分配的内存空间,可以依据程序的周转状态调整分配的积聚内存大小。

 

#下程序的推行结果?

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

)

相关文章

网站地图xml地图