using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Consoleai
{
class contrast
{
static string all = "";
public static void con(char c='我')
{
addall();
timeif(c);
timeindex(c);
Console.ReadLine();
}
static void addall()
{
string s = crealize.readtxt("1.txt");
for (int i = 0; i < 100; i++)
{
all += s;
}
}
public static void timeif(char c)
{
DateTime beforDT = System.DateTime.Now;
//消耗时间的代码片段
int[] i = getif(c);
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);
}
public static void timeindex(char c)
{
DateTime beforDT = System.DateTime.Now;
//消耗时间的代码片段
int[] i = getallindex(c);
DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}ms.", ts.TotalMilliseconds);
}
static int[] getif(char one)
{
Queue<int> qi = new Queue<int>();
for (int i = 0; i < all.Length; i++)
{
if (all[i] == one)
{
qi.Enqueue(i);
}
}
return qi.ToArray();
}
static int[] getallindex(char one)
{
Queue<int> qi = new Queue<int>();
int j = 0;
while (true)
{
j++;
j = all.IndexOf(one, j);
if (j == -1) break;
qi.Enqueue(j);
}
return qi.ToArray();
}
}
}
DateTime总共花费144.3828ms.
DateTime总共花费24.0632ms.