您是第 Web Page Tracking 位访客

水~墨~

昂首阔步,不留一点遗憾!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

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;
        }
    }

 

 
posted on 2013-06-04 00:03  水墨.MR.H  阅读(292)  评论(0编辑  收藏  举报
知识共享许可协议
本博客为水墨原创,基于Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的水墨(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。