日期:2014-05-18  浏览次数:20474 次

几道测试题
1.有两个页面a.aspx,b.aspx,在a.aspx上有个button,编程实现单击button时弹出一个脚本确认框,点击确定时写入跟踪信息(当前时间)到控制台(Console)并跳转到b.aspx,取消不进行任何操作.


2.实现对一个字符串的处理,去掉首尾空格,将中间的连续空格替换为单个空格。

3.写出运行结果,并画出内存布局示意图(5)
  class A 
{  
  public int PA;
  }
  class Program
{
  public static void swap(A x, A y)
{
  A temp = x;
  x = y;
  y = temp;
//------------------------------调用swap函数末
  }
  static void Main(string[] args)
{
  A a = new A(); a.PA = 1;
  A b = new A(); b.PA = 2;
  swap(a, b);
//-------------------------------调用swap函数后
  Console.WriteLine("a.PA = {0}, b.PA = {0}", a.PA, b.PA);
  }
  }



------解决方案--------------------
1、javascript:confirm,button的服务器端onclick写入控制台,同时跳到指定页面
2、循环,首尾空格不用说,中间的空格碰到第一个就添加,后面空格抛弃,统统加到stringbuilder。
3、转换就是指针交换



发现最近很无聊……-_-!
------解决方案--------------------
A a = new A(); a.PA = 1; 
A b = new A(); b.PA = 2; 
swap(a, b); 
类是引用调用,swap(a,b)后,a所在内存的地址赋值给temp,b所在内存的地址赋值给a,temp所在内存的地址赋值给b,输出 2,1
------解决方案--------------------
2.
C# code

string str = " sdf    sdf    sdf "
str = Regex.Replace(Regex.Replace(a,@"(^\s+|\s+$)",""),@"\s+"," ");

------解决方案--------------------
C# code

string str = " sdf    sdf    sdf "
str = Regex.Replace(str.Trim(),@"\s+"," ");

------解决方案--------------------
第一题:
a.aspx

HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="a.aspx.cs" Inherits="Web.a"  Trace="true"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
            <asp:Button ID="Button1" runat="server" Text="跳转到b.aspx" OnClientClick="return window.confirm('要跳转到b.aspx吗?')" onclick="Button1_Click" />
    </div>
    </form>
</body>
</html>

------解决方案--------------------
前两提都有人答了,我也学习了,第三题我的答案:
应该是将x,y交换值,但是结果应该是:a.PA=2,b.PA=2