您的位置:首页 > 职场人生

面试题目20130722 瞬联软件

2013-07-25 07:49 218 查看
机试题:

Q: 有两个数组int[] ar1={1,9,3,8,2} int ar2[] ={3,-2,8,7,10},请将其合并到一个数组并排序后输出.

A:

int[] arrResult = new int[ar1.Length + ar2.Length];
Array.Copy(ar1, arrResult, ar1.Length); Array.Copy(ar2, 0, arrResult, ar1.Length, ar2.Length);   Array.Sort(arrResult); foreach (int item in arrResult) { Console.WriteLine(item.ToString()); }


Q:有一个90位的数组,其中数字为随机生成,但其中有一个数字重复了,请把它找出.

A: 解法1:因为只须找出重复的数字不需要找出重复位置,因此可以先排序再查找

int iLoopMax = arrResult.Length - 1;
bool blnNotMatch = true;
for (int i = 0; i < iLoopMax; i++) {
if(arrResult[i] ==arrResult[i+1])
{
blnNotMatch = false;
Console.WriteLine("重复的数字是" + arrResult[i].ToString());
break;
}
}
if (blnNotMatch) Console.WriteLine("没有重复的数字");


解法2:Linq

var a = from item in arrResult
group item by item
into h
where h.Count() >1
select h.Key;
var result = a.ToList();
if (result.Count > 0)
{
foreach (var item in result) {
Console.WriteLine("重复的数字是" + item);
}
}
else
Console.WriteLine("没有重复的数字");


Q: 找出当前窗体中的TextBox并将其文本设置为"Find Me!!".

A : 递归

SetSubControls(this, p => { return p is TextBox; }, p => { p.Text = "Find Me!!"; });

private void SetSubControls(Control container, Predicate<Control> filter, Action<Control> action){
foreach (Control item in container.Controls){
if (item.Controls.Count > 0)
SetSubControls(item, filter, action);
if (filter(item))
action(item);
}
}


面世题

Q: Class和对象的区别

A:

Q:虚类和接口的区别

A:

Q:值类型和引用类型的存储方式有什么区别

A:

Q:分别如何定义值类型和引用类型的常量,以及他们的区别

A:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: