评论

收藏

[R语言] asp.net代码练习 work081 集合操作

编程语言 编程语言 发布于:2021-12-17 18:49 | 阅读数:383 | 评论:0

webform1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work081.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>集合操作</title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
  
  </div>
  </form>
</body>
</html>
webform1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace work081
{
  public partial class WebForm1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Response.Write(CollectionDemo.Test(100000));
      Response.Write("===========================<br>");
      Response.Write(CollectionDemo.Test(100000));
      Response.Write("===========================<br>");
      Response.Write(CollectionDemo.Test(100000));
      Response.Write("===========================<br>");
    }
  }
}
collectiondemo.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace work081
{
  /// <summary>
  /// 测试对集合进行操作所花费的时间
  /// </summary>
  public class CollectionDemo
  {
    private CollectionDemo()
    { 
    
    }
    /// <summary>
    /// 数组操作花费的时间
    /// </summary>
    /// <param name="maxCount"></param>
    /// <returns></returns>
    private static TimeSpan ArrayOperation(int maxCount)
    {
      DateTime start = DateTime.Now;
      int[] intList = new int[maxCount];
      int j = 0;
      for (int i = 0; i < maxCount; i++)
      {
        intList[i] = i;
      }
      for (int i = 0; i < maxCount; i++)
      {
        j = intList[i];
      }
      DateTime end = DateTime.Now;
      return end - start;
    }
    /// <summary>
    /// 列表集合
    /// </summary>
    /// <param name="maxCount"></param>
    /// <returns></returns>
    private static TimeSpan ArrayListOperation(int maxCount)
    {
      DateTime start = DateTime.Now;
      //System.Collections.ArrayList arrayList = new System.Collections.ArrayList();
      System.Collections.ArrayList arrayList = new System.Collections.ArrayList(maxCount);
      
      int j = 0;
      for (int i = 0; i < maxCount; i++)
      {
        arrayList.Add(i);
      }
      for (int i = 0; i < maxCount; i++)
      {
        j = (int)arrayList[i];
      }
      DateTime end = DateTime.Now;
      return end - start;
    }
    /// <summary>
    /// 泛型
    /// </summary>
    /// <param name="maxCount"></param>
    /// <returns></returns>
    private static TimeSpan GenericListOperation(int maxCount)
    {
      DateTime start = DateTime.Now;
      //System.Collections.Generic.List<int> intList = new List<int>();
      System.Collections.Generic.List<int> intList = new List<int>(maxCount);
      int j = 0;
      for (int i = 0; i < maxCount; i++)
      {
        intList.Add(i);
      }
      for (int i = 0; i < maxCount; i++)
      {
        j = intList[i];
      }
      DateTime end = DateTime.Now;
      return end - start;
    }
    public static string Test(int maxCount)
    {
      string result = string.Empty;
      TimeSpan ts1 = ArrayOperation(maxCount);
      TimeSpan ts2 = ArrayListOperation(maxCount);
      TimeSpan ts3 = GenericListOperation(maxCount);
      result += string.Format("执行{0}次操作:<br>",maxCount);
      result += string.Format("数组耗时{0}毫秒。<br>",ts1.TotalMilliseconds);
      result += string.Format("ArrayList耗时{0}毫秒。<br>",ts2.TotalMilliseconds);
      result += string.Format("泛型集合耗时{0}毫秒。<br>",ts3.TotalMilliseconds);
      return result;
    }
  }
}

关注下面的标签,发现更多相似文章