日期:2014-05-17  浏览次数:20453 次

给点初级的C#面试题
简单的概念题目就得了,常识性的

算法的不要。

半夜再回来收集题目。

 最近要参加个什么 JB 考试。

------解决方案--------------------
http://topic.csdn.net/u/20090208/20/618b1e4e-0c2d-40f9-84c5-0acd39993d9e.html
http://topic.csdn.net/u/20090521/17/12afd0ea-6228-430c-9521-942449313013.html


------解决方案--------------------
参考
参考
参考
还有程序员面试宝典
------解决方案--------------------
3) 交错数组
它是元素是数组的数组,维度和大小可以不同,索引称为:JaggeArray
声明:
int[][] jaggedArray = new int[3][]; 三个元素组成的一维数组,每个元素分又是一个一位数组
初始化:
jaggedArray[0] = new int[5]; 第一个元素:5个元素组成的一维数组
jaggedArray[1] = new int[4]; 。。。
jaggedArray[2] = new int[2];
或:
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 };
或:
int[][] jaggedArray = new int[][] 声明的同时初始化
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
或:
int[][] jaggedArray = 简单方法
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
};
交错数组和多维数组的混合:
int[][,] jaggedArray2 = new int[3][,] 创建一个一维交错数组,包含三个元素,每个元素都是一个二维数组
{
new int[,] { {1,3}, {5,7} },
new int[,] { {0,2}, {4,6}, {8,10} },
new int[,] { {11,22}, {99,88}, {0,9} } 
};
访问交错数组:
jaggedArray[0][1] = 1 第一个元素的第一个位置的值;
jaggedArray2[0][1, 0])= 5;
jaggedArray.Length;交错数组中包含的元素的个数;
 

Array类:
System.Array;
它是所有数组的基类;提供创建、操作、搜索和排序数组的方法;
属性:
Length: Array 的所有维数中元素的总数;
Rank: 获取 Array 的秩(维数);
方法:
CreateInstance(): 初始化 Array 类的新实例;
CopyTo( Array,index ): 将当前一维 Array 的所有元素复制到指定的一维 Array 中;index:制定的Array的起始索引;
Copy(): 将一个 Array 的一部分元素复制到另一个 Array 中,并根据需要执行类型强制转换和装箱


集合类:
System.Collections

ArrayList类:
System.Object 
System.Collections.ArrayList
它表示可以按需要动态变化的数组;实现了IList接口
构造函数:
ArrayList list = new ArrayLIst(); 构造一个空实例 容量为0;
ArrayLilst list = new ArrayList(str); 从指定集合复制元素,新创建的实例有该集合相同的容量
ArrayList list = new ArrayList(10); 构造容量为10的新实例;
属性:
Capacity :可存储的元素数
Count : 实际存储的元素数。
Capacity 总是大于或等于 Count,如果添加的count大于capity capity将按count的2倍自动增加;
方法;
Add() 将对象添加到 ArrayList 的结尾处;
AddRange() 将 ICollection 的元素添加到 ArrayList 的末尾;


Hashtable 类:
System.Object 
System.Collections.Hashtable
表示键/值对的集合,这些键/值对根据键的哈希代码进行组织;
由于 Hashtable 的每个元素都是一个键/值对,因此元素类型既不是键的类型,也不是值的类型。而是 DictionaryEntry 类型

GetEnumerator()方法返回循环访问 Hashtable 的 IDictionaryEnumerator

IDictionaryEnumerator enu=objtable.GetEnumerator();
//枚举数enu开始会定位在集合中第一个元素前,所以要使用MoveNext() 将 Current 设置为下一个元素。
while(enu.MoveNext())
{
string str =(string)objtable[enu.Key]; 
//objtable.Remove(enu.Current);
}
// 如果MoveNext移除集合的末尾,枚举数将定位在最后一个元素的后面,该方法放回false
// 调用enu.Reset()方法,在调用movenext方法 可以将current重新指向第一个元素
 



六:结构

1. 它将一个对象作为内置数据类型,以加快分配,减少引用重载;
2. 定义:
struct