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.   

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

  2.   

      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
      

  3.   

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

  4.   


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

  5.   

    第一题:
    a.aspx<%@ 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>a.aspx.csusing System;namespace Web
    {
        public partial class a : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {        }        protected void Button1_Click(object sender, EventArgs e)
            {
                Trace.Warn(DateTime.Now.ToString());
                Response.Redirect("b.aspx");
            }
        }
    }
      

  6.   

    using System;namespace Web
    {
        public partial class a : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {        }        protected void Button1_Click(object sender, EventArgs e)
            {
                Trace.Warn(DateTime.Now.ToString());
                Response.Redirect("b.aspx");
            }
        }
    }
      

  7.   

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

  8.   

    3.
    这句    Console.WriteLine("a.PA = {0}, b.PA = {0}", a.PA, b.PA); 写错了吧?
    应该是  Console.WriteLine("a.PA = {0}, b.PA = {1}", a.PA, b.PA); 结果:
    若Console.WriteLine("a.PA = {0}, b.PA = {0}", a.PA, b.PA):  a.PA=1, b.PA=1
    若Console.WriteLine("a.PA = {0}, b.PA = {1}", a.PA, b.PA):  a.PA=1, b.PA=2public static void swap(A x, A y) 函数交换地址,传入的参数是引用类型,它会复制传入参数变量的地址,即 x与a指向的是同一个地址,y与b指向的也是同一个地址,现在交换的是 x与y 的地址,不影响到 a与b,所以结果不改变.若要改变结果就改为 ref或out参数.