文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#经典面试题及答案 (3)

2023-01-31 01:15

关注
13:大概描述一下ASP。NET服务器控件的生命周期
答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载
14:程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求:  1.要有联动性,老鼠和主人的行为是被动的。
           2.考虑可扩展性,猫的叫声可能引起其他联动效应。
Code
public interface Observer
    
{
        void Response();    //观察者的响应,如是老鼠见到猫的反映

    }
    public interface Subject
    
{
        void AimAt(Observer obs);  //针对哪些观察者,这里指猫的要扑捉的对象---老鼠

    }
    public class Mouse : Observer
    
{
        private string
 name;
        public Mouse(string
 name, Subject subj)
        
{           
            this.name =
 name;
            subj.AimAt(this
);
        }

        
        
public void Response()
        
{
            Console.WriteLine(name + " attempt to escape!"
;
        }

    }
    public class Master : Observer
    
{   
        public
 Master(Subject subj)
        
{           
            subj.AimAt(this
);
        }

        
        
public void Response()
        
{
            Console.WriteLine("Host waken!"
;
        }
  
    }

 
    
public class Cat : Subject
    
{
        private
 ArrayList observers;
        public
 Cat()
        
{   
            this.observers = new
 ArrayList();
        }

        public void AimAt(Observer obs)
        
{
            this
.observers.Add(obs);
        }

        public void Cry()
        
{
            Console.WriteLine("Cat cryed!"
;
            foreach (Observer obs in this
.observers)
            
{
                obs.Response();
            }

        }
    }
    class MainClass
    
{       
        static void Main(string
[] args)
        
{
            Cat cat = new
 Cat();
            Mouse mouse1 = new Mouse("mouse1"
, cat);
            Mouse mouse2 = new Mouse("mouse2"
, cat);
            Master master = new
 Master(cat);
            cat.Cry();
        }

    }

       下面的程序运行后:

 
Code
class Program
    
{
        static void Main(string
[] args)
        
{
            Class1 o1 = new
 Class1();
            Class1 o2 = new
 Class1();
            

        }

    }
    class Class1
    
{
        private static int count = 0
;
        static
 Class1()
        
{
            count++
;
        }

        public Class1()
        
{
            count++
;
        }

    }
 
请问,o1.Count的值是多少?( C )
A.1         B.2             C.3             D.4
解答:class1在实例化的时候,先运行静态构造函数,然后运行实例构造函数,第二次实例化的时候,由于静态构造函数已经存在,所有直接实例化,它们都共享静态变量count.
 
(1)用于对静态字段、只读字段等的初始化。              
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。        
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。            
(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。    
    任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。  
(6)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。

    C#取系统时间的方法
   
 
string a= DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss");
            string b = DateTime.Now.ToString("M/d/yyyy hh:mm:ss tt"
);
            string c = DateTime.Now.ToString("M.d.yyyy hh-mm-ss-tt"
);
            string d = DateTime.Now.ToString("M.d.yyyy hh.mm.ss tt"
);
            string ee = DateTime.Now.ToString("M.d.yyyy.hh.mm.ss.tt"
);
            string f = DateTime.Now.ToString("yyyy/MM/dd"
, System.Globalization.DateTimeFormatInfo.InvariantInfo);

            string g = DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss"
, System.Globalization.DateTimeFormatInfo.InvariantInfo);
    
     简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用 
 
     答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。
     求f=1*2*4*8*16*32*64*128*256
 
     方法一:利用位运算:
     long sum = 1;
for (int i = 1; i < 9; i++
)
{
    sum *= 1 <<
 i;
}
 
 
 
      方法二:利用循环:
   int m = 1,s=1
            for (int i = 0; i < 9; i++

            { 
                s = m * 1

                for (int j = 0; j < i; j++

                { 
                    m = m * 2

                } 
            }
 
         上个月的最后一天       
         这是一个计算上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql     Server中时间是精确到3毫秒。这就是为什么我需要减去3毫秒来获得我要的日期和时间。      
     
                SELECT  dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()), 0))  
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯