面试题目20130722 瞬联软件

本文介绍了瞬联软件20130722面试中的几道编程题目,包括如何合并与排序两个整数数组、找出90位数组中重复的数字、Class与对象、虚类与接口、值类型与引用类型的区别,以及常量的定义与差异。

机试题:

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: 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值