打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c#基础知识题库
zop个人图书馆    2012-11-13     
1.C#中数据类型分为哪两类?区别是什么?
值类型、引用类型。值类型保存的是具体的值 引用类型保存的是值的地址 
2.基本数据类型有哪些?
bool 布尔类型、int 整数类型、byte字节型、char字符型、long 长整型、flaot浮点型、 short 短整型、 double 双精度类型、string字符串类型
3.什么是装箱,什么是拆箱?
装箱:将值类型转换为引用类型、拆箱:将装箱的引用类型转为值类型。
4.C#中有哪些流程控制语句?
判断语句、循环语句、跳转语句
5.什么是变量?
变量是内存中的一块存储区域,是存储数据的基本单元
6.C#提供了哪些一系列丰富的运算符?
算术运算符
关系运算符
逻辑运算符
条件运算符
赋值运算符
7.用户输入行数,用* 打印一个直角三角形图案?
for (int j = 1; j <= 5;j++ )
            {
                 //for (int a = 1; a <= 5 - j; a++)     //如果需要打印等边三角形需要加这个
                 //       Console.Write(" ");
                    for (int i = 1; i <= 2*j-1; i++)
                    {
                        Console.Write("*");
                    }
                   
                    Console.WriteLine();
            }
            Console.ReadKey();

8.C# 提供循环结构?
while 循环,do…while 循环
for 循环,foreach 循环
9.什么是函数?
函数就是将一堆代码进行重用的一种机制;函数被称为方法。
10.字符串的分割?
string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组;
string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组( options 取
   RemoveEmptyEntries的时候移除结果中的空白字符串);
string[] s = str.Split(new string[] { "小" }, StringSplitOptions.RemoveEmptyEntries);
string[] Split(string[] separator, StringSplitOptions options)将字符串按照指定的string分割符分割为字符串数组。
string[] s = a.Split(new char[] { '-' }, StringSplitOptions. None);
11.C#中自定义数据类型是什么?
枚举
12.c#提供了哪些类型的选择结构?
if、if…else、switch…case
13.了解什么是面向对象?
面向对象就是使用对象进行程序设。面向对象的编程思想:计算机程序中模拟现实世界中的概念,现实世界的所有事物全都被视为对象,在计算机程序中用相似的实体模拟现实世界中的实体,是设计和实现软件系统的方法。
14.面向对象的基本概念:类?对象?封装?继承?多态?
同一类中的事物总是具有一些共性;
类是具有相同属性和和行为的一组对象的集合。类是用来描述实体的“模板”或“原型”;
对象是面向对象编程的核心部分,是实际存在的具体实体,具有明确定义的状态和行为;对象其实就是“数据”和“函数”的封装体。
封装:封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题。封装的特点就是避免非法数据的访问,保证数据的完整性
例:每个人都有自己的思想,具体想什么别人都不知道。
继承:解决了代码的重用问题;继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。
继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。
多态:指不同对象收到相同消息时,会产生不同行为。

--------什么是抽象?
把相同的或相似的对象归为一类的这个过程就是抽象,所以,抽象就是分析问题的方法;
15.如何定义类,如何创建对象?
定义一个类的方法,必须包括五个要素:方法修饰符,方法名,返回类型,参数,以及方法体,例如Add方法:
public int Add(int x, int y)
{
return x + y;
}
创建对象的一般语法:类名 引用名 = new 类名();
16.访问控制权限?
关键字public和private是访问修饰符,用来说明某个成员是否可以从类外部进行访问;

17.成员运算符?
使用成员运算符(.)来访问成员属性或成员方法;

18.什么是属性?构造方法?
属性:对象或实体拥有的特征在类中表示时称为属性。数据表示自身的状态,也称作“属性”或“成员数据。
构造方法:对象实例化的同时就初始化成员变量。构造方法没有返回值类型,也不能有返回值。构造方法是特殊的成员方法,它与类同名。
19.重载构造方法
构造方法是用来初始化成员变量的特殊方法。可以适当地重载构造方法,使初始化对象的方式更加灵活;
方法重载可以方便方法的调用者,但方法重载应遵循三大原则:
方法名相同,参数列表不同,属于同一作用域

20.方法重载?
在同一作用域中用于定义一组方法,这些方法具有相同的名称,并执行类似的操作,但是却使用不同的参数列表;返回值不同的方法不能构成重载。
21.this关键字?静态成员?static关键字?
每个成员方法都有一个隐含的this引用,它总是指向调用它的对象;
声明静态变量使用关键字static。具有全局变量的生命周期(完成了某些全局变量才能完成的功能);
注意:静态成员方法没有this引用;
22.命名空间,namespace关键字;导入命名空间,using关键字。

23.C# 中常用的字符串处理方法:
Equals()或==:比较两个字符串的值是否相等
Join():连接字符串
Split():分割字符串
IndexOf():查找某个字符在字符串中的位置
SubString():从字符串中截取子字符串
ToLower():将字符串转换成小写形式
Trim():去掉字符串两边的空格
Replace(“子字串”,“目标字符串”):将子字符串替换为目标字符串
Format():方法用来格式化字符串
24.时间日期类DateTime
System.DateTime currentTime=new System.DateTime(); //取当前年月日时分秒 currentTime=System.DateTime.Now; //取当前年 int 年=currentTime.Year;
  // 取当前月 int 月=currentTime.Month; //取当前日 int 日=currentTime.Day; // 取当前时 int 时=currentTime.Hour; //取当前分 int 分=currentTime.Minute;
// 取当前秒 int 秒=currentTime.Second;
获得当前时间 n 天后的日期时间 DateTime newDay = DateTime.Now.AddDays(100);
25.什么是对象数组?
在C#中不但可以声明由原始数据组成的数组,还可以声明由对象组成的数组;
//假设已经定义了一个Student类。Student[]stdAry=new Student[5];
26.C#中实现继承?
实现继承的一般语法是:
[访问修饰符] class 派生类名 :基类名 
  {
成员列表
}

27.访问控制权限-protected?
protected修饰符,本类或子类成员友好;受保护的。
28.继承中的构造方法?
父类的构造方法负责初始化属于它的成员变量,而子类的构造方法则只需考虑属于自己的成员变量,不必去关注父类的情况。父类的构造方法执行失败,那么子类的对象也将无法实例化。
29.base关键字?
第一种用途是:在子类的构造方法中,base关键字可以显式地调用父类的构造方法,用于将参数传递给它;
class Derived : base(实际参数){
……}
第二种用途:如果父类和子类中有同名成员,在子类中默认访问是属于自己的那一个成员;
base关键字可以明确地指定要访问父类中的成员;其一般语法是:
base.成员名;(前提条件是:父类中的该成员不是private的)
30.什么是引用转型?
引用转型(里氏替换原则):基类的引用可以指向派生类的对象,如:
BaseClass obj = new DerivedClass();

31.abstract关键字是用来做什么的?
定义抽象类和抽象方法必须要的abstract
32.抽象方法和抽象类是什么?
抽象类是特殊的类,只是不能被实例化(不能new),有抽象方法的类必然是抽象类。
33.override关键字,virtual关键字?
被重写的方法要是abstract的或virtual的
重写方法指重写基类方法,被重写的方法与原方法原型一模一样
34.使用虚方法
子类中可以使用override关键字重写基类中用virtual关键字修饰的虚拟的基成员
用自己的Cut子类中要重写Cut

35.什么是接口和如何实现接口,interface关键字?
如果某个类中的所有方法都是抽象方法,那么可以考虑将该类定义为接口;定义接口使用关键字interface,一般语法:
[访问权限] interface 接口名 {
成员列表
}
注意:接口中不能定义非抽象方法,也就是说接口中不能包含有函数实体;

36.sealed关键字是用来做什么的?
如果将某个成员方法修饰为sealed,则意味着该方法不能被子类覆盖,一般语法:
[访问权限] sealed 返回值类型 方法名(参数列表) {
……
}

37.类与类之间的关系?
继承关系、实现关系、依赖关系、关联关系、聚合关系、组合关系。

38.IS/AS关键字???
    IS判断对象是否是某个类型
    AS类型转换,只能转换引用类型
39.运用try块、catch块和finally块处理异常
程序中出现的错误被称为异常;编译时异常一般是指语法错误,可以通过编译器的提示加以修正,这里我们不予讨论;
运行时异常包括:
运行错误:如数组下标越界,除数为0等;
逻辑错误:如年龄超过200岁等。

try块:一般用来监视有可能产生异常的代码部分;
catch块:当异常产生后,catch块捕捉异常,并在其中对异常进行处理。
finally块可以确保执行所有的清理工作;
40.C#中异常类的继承体系结构?

41.运用多重catch块处理异常?
多重catch块,来分别捕获不同类型的异常。

42.运用嵌套try/catch块处理异常?
整个语句块可以产生异常,而其中的某个部分又可能产生另外的异常,而我们需要分别进行处理;

43.运用关键字throw处理异常?
使用显式 throw 语句来引发异常。在此情况下,控制权将无条件转到处理异常的部分代码

44.用户自定义异常?
可能要创建用户自定义的异常类;Exception类和其子类都是系统内置的异常,这些异常不一定总能捕获程序中发生的逻辑异常;

45。理解集合的概念?
ArrayList是一个可动态维护长度的集合;例:
ArrayList students = new ArrayList();
Student scofield = new Student("Scofield", Genders.Male, 28, "越狱狱");
students.Add(scofield);

46.理解泛型概念?
泛型最常见的用途是创建集合类
泛型集合可以约束集合内的元素类型 
典型泛型集合List<T>表示该泛型集合中的元素类型

47.C#中提供了按照索引器进行访问的方法
定义索引器的方式:
    string this[int index]{
                    get { return ""; }
                    set { }
                     }
      string为索引器的类型
      [ ]中是参数列表

48.访问 List<T> 与 ArrayList 的对比
 相同点:通过索引访问集合的元素;添加对象方法相同;通过索引删除元素。
不同点:List<T>:增加元素时类型严格检查;无需装箱拆箱;
  ArrayList:可以增加任何类型;需要装箱拆箱。

49.在for循环里如何做死循环?
括号里不必须加限制。
 for(i=1;;i++) //两个分号之间的限制条件可以不写
 {
 .........
 if(条件)break; 
j......... 
}

n-1.分页有哪几种方法?
一般都是用存储过程,或者写一个分页的类


n.如何用c#获取其他软件子窗口的标题栏的文字并保存到记事本中???
 用spy++和api就能做。
spy++ 是获取参数的。
百度一下抓取窗体句柄 有很多例子的
用winapi抓句柄

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java面向对象基础(封装继承多态)【3】
Java学习笔记
Java基础知识总结(超详细整理)
C#第二十天
C#中子类重写父类方法的几种情况(virtual,abstract,override,new)
java 接口理解(2)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服