zoukankan      html  css  js  c++  java
  • Net 面试题_代码

    ///////////////

    1.子父类 override 重写方法调用(父类的方法也就被覆盖了) 重写的父类方法必须加上 修饰符 abstract,virtual,或者 override

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    Father dd= new son();
    dd.write();



    Console.ReadLine();
    }
    }

    class Father
    {
    public Father()
    {
    write();
    }

    public virtual void write()
    {

    }

    }

    class son : Father
    {
    public int x;
    public int y;

    public son()
    {
    x = -1;
    y = -1;
    //write();
    }

    public override void write()
    {
    Console.WriteLine("x={0},y={1}",x,y);

    }

    }
    }

    x=0,y=0

    x=-1,y=-1

    因为new son()这句首先要先初始化基类构造函数中的代码write(),此时son()还未初始化赋值,所以默认x=0,y=0.
    //////////////////////////////////////////////

    2.new 新建实例或者隐藏父类方法(子类想用自己的方法,于是用new 隐藏父类方法)
    例:public class A
    {
    public A{}
    public write(){Console.WriteLine("A.write()")}

    }

    public class B:A
    {

    public B{}
    new public write(){Consolw.WriteLine("B.write()")}
    }


    B b=new B(); b.write(); //输出 B.write();
    A a=b; a.write();//输出A.write();

    68.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

    答:

    string abc = "sdf sdfsd sdfsdfsdff sdfdsf";
    //abc = Regex.Replace(abc, "\\s+", " ");
    abc = Regex.Replace(abc, " +", " ");

    69. 比较2个object是否equals

    object.equals(objectA,objectB)


    70. 单例模式 SingleTonClass 关键:static,构造函数私有

    class SingleTonClass
    {
    private static SingleTonClass sa;
    private SingleTonClass()
    {

    }

    public static SingleTonClass GetSingleTonClass()
    {
    if (sa == null)
    {
    sa = new SingleTonClass();
    Console.WriteLine("未被初始化");
    }
    else
    {
    Console.WriteLine("已经被初始化");

    }
    return sa;
    }

    }

    //调用

    class Program
    {
    static void Main(string[] args)
    {


    SingleTonClass.GetSingleTonClass(); //输出未被初始化
    SingleTonClass.GetSingleTonClass();//输出已经初始化
    SingleTonClass.GetSingleTonClass();//输出已经初始化
    SingleTonClass.GetSingleTonClass();//输出已经初始化
    }
    }

    94.下面的代码中有什么错误吗?_______

    using System;

    class A

    {

    public virtual void F(){

    Console.WriteLine("A.F");

    }

    }

    abstract class B:A

    {

    public abstract override void F(); 答:abstract override 是不可以一起修饰.

    }

    95. 特定区域的货币,比如一个float的值 显示成美国的货币

    System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");

    //System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英 国 货币类型 en-GB 可以在msdn查询具体国家的

    decimal y = 9999999999999999999999999999m;

    string str = String.Format(MyCulture,"My amount = {0:c}",y); {0:c} //c为货币


    109.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。

    答:<script language=javascript>

    setTimeout('window.close();',3000);

    function show()

    {

    if (window.event.button == 1)

    {

    alert("左");

    }

    else if (window.event.button == 2)

    {

    alert("右");

    }

    }

    </script>


    11. hashtable ,hashmap 都是key/value, key不能相同;map没实现线程安全,而且key可以为null。

    Hashtable ht = new Hashtable();
    ht.Add("1", "2");
    ht.Add("2","2");

    12。 sql:统计用户在线时间。

         有online 表,  username,operate,time

    假设表中有数据:

    lizi,login,2013/1/1 12:00:33

    mike,login,2013/1/1 14:33:45

    lizi,exit,2013/1/1 19:33:55

    mike,exit,2012/1/1  23:33:44

    要得到如下信息:  lizi,4:33:12(在线时间4小时,33分钟,12秒)

    代码:

    select a.[username],a.time as login_time,b.time as exit_time

    ,cast((floor(datediff(ss,a.time,b.time)/3600 ))as nvarchar)                  //获取小时数,     datediff(hh/mi/ss,starttime,endtime)

    +':'+cast((floor(datediff(ss,a.time,b.time) )%3600/60)as nvarchar)    //减去整数小时后,获取分钟数

    +':'+cast(floor( datediff(ss,a.time,b.time))%3600%60 as nvarchar)


    as totaltime from

    online as a , online as b where a.[username]=b.[username] and a.operate='login' and b.operate='exit'

    13.  生成一个数组100个整数, 从1到10000.并按照大小排列。

     1  static void Main(string[] args)
     2         {
     3             List<int> list = new List<int>();
     4             Random r = new Random();
     5             int[] array = new int[100];
     6             int temp = 0;
     7             while (list.Count < 100)
     8             {
     9                 temp = r.Next(1, 10001);
    10                 if (!list.Contains(temp))
    11                 {
    12                     list.Add(temp);
    13                 }
    14 
    15 
    16             }
    17 
    18             list.Sort();
    19             array = list.ToArray();
    20 
    21             foreach (int i in array)
    22             {
    23                 Console.WriteLine(i.ToString());
    24             }
    25             Console.Read();
    26         }

    结果就是按照从小到大排列了。


    //从大到小排列

    class Program
        {
            static void Main(string[] args)
            {
                List<int> list = new List<int>();
                Random r = new Random();
                int[] array = new int[100];
                int temp = 0;
                while (list.Count < 100)
                {
                    temp = r.Next(1, 10001);
                    if (!list.Contains(temp))
                    {
                        list.Add(temp);
                    }
    
    
                }
    
                //list.Sort(); //默认
          //   Console.WriteLine(   Comparer<int>.Default.ToString());
                //System.Collections.Generic.GenericComparer`1[System.Int32]  
    
                list.Sort(FromMaxToMin);
                
                array = list.ToArray();
    
                foreach (int i in array)
                {
                    Console.WriteLine(i.ToString());
                }
                Console.Read();
            }
    
    
            //从大到小排列
            public static int FromMaxToMin(int a,int b)
            {
                if (a > b) return -1;
                else if (a == b) return 0;
                else return 1;
            }
        }
     
  • 相关阅读:
    树链剖分
    后缀自动机
    莫队算法。
    线性递推BM模板
    笛卡尔积
    2019牛客暑期多校训练营(第三场) J LRU management 模拟链表操作
    线性基
    bitset 位运算
    Lindström–Gessel–Viennot lemma定理 行列式板子
    三角形
  • 原文地址:https://www.cnblogs.com/StudyLife/p/3116302.html
Copyright © 2011-2022 走看看