分享

2010年.NET面试题基础篇总结系列四

 nbxming 2011-03-12
36、请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
foreach (System.Windows.Forms.Control control in this.Controls)
{
    if (control is System.Windows.Forms.TextBox)
    {
        System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control;
        tb.Text = String.Empty;
    }
}

37、根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并说明理由。
public void test(int i)
{
    lock (this)
    {
        if (i > 10)
        {
            i--;
            test(i);
        }
    }
}
不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)
38、写出程序的输出结果
程序代码
  class Class1
    {
        private string str = "Class1.str";
        private int i = 0;
        static void StringConvert(string str)
        {
            str = "string being converted.";
        }
        static void StringConvert(Class1 c)
        {
            c.str = "string being converted.";
        }
        static void Add(int i)
        {
            i++;
        }
        static void AddWithRef(ref int i)
        {
            i++;
        }
        static void Main()
        {
            int i1 = 10;
            int i2 = 20;
            string str = "str";
            Class1 c = new Class1();
            Add(i1);
            AddWithRef(ref i2);
            Add(c.i);
            StringConvert(str);
            StringConvert(c);
            Console.WriteLine(i1);
            Console.WriteLine(i2);
            Console.WriteLine(c.i);
            Console.WriteLine(str);
            Console.WriteLine(c.str);
        }
    }
 
本文来自: IT知道网(http://www.) 详细出处参考:http://www./html/net/netmianshi/20100522/8378.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多