📄 tools.cs
字号:
using System;
using System.Collections;
namespace SimpleLL1
{
/// <summary>
/// Tools 的摘要说明。
/// </summary>
public class Tools
{
#region 检测给定的object对象是否是Queue的一个元素
/// <summary>
/// 检测给定的object对象是否是ArrayList的一个元素
/// </summary>
/// <param name="obj">给定的object对象</param>
/// <param name="que">指定的ArrayList</param>
/// <returns>bool</returns>
public static bool IsInQueue(object obj,Queue que)
{
IEnumerator myEnumerator = que.GetEnumerator();
while ( myEnumerator.MoveNext())
if(obj.Equals(myEnumerator.Current))
return true;
return false;
}
#endregion
#region 检测给定的object对象是否是ArrayList的一个元素
/// <summary>
/// 检测给定的object对象是否是ArrayList的一个元素
/// </summary>
/// <param name="obj"></param>
/// <param name="arylst"></param>
/// <returns>bool</returns>
public static bool IsInList(object obj,ArrayList arylst)
{
IEnumerator myEnumerator = arylst.GetEnumerator();
while ( myEnumerator.MoveNext())
if(obj.Equals(myEnumerator.Current))
return true;
return false;
}
#endregion
#region 把arylst2接到arylst1后面
/// <summary>
/// 把arylst2接到arylst1后面
/// </summary>
/// <param name="arylst1"></param>
/// <param name="arylst2"></param>
/// <returns>ArrayList</returns>
public static ArrayList AddArrayList(ArrayList arylst1,ArrayList arylst2)
{
IEnumerator myEnumerator = arylst2.GetEnumerator();
while ( myEnumerator.MoveNext())
{
if(!IsInList(myEnumerator.Current,arylst1))
arylst1.Add(myEnumerator.Current);
}
return arylst1;
}
#endregion
#region 检测string型的一个对象的指定部分是否是Queue的某个元素的某部分
/// <summary>
/// 检测string型的一个元素的指定部分是否是Queue的某个元素的某部分
/// </summary>
/// <param name="strElement">待检测的string对象</param>
/// <param name="iStartIndex">开始位置</param>
/// <param name="iLength">长度</param>
/// <param name="que">指定的队列</param>
/// <returns>bool</returns>
public static bool IsQueueElement(string strElement,int iStartIndex,int iLength,Queue que)
{
IEnumerator myEnumerator =que.GetEnumerator();
while ( myEnumerator.MoveNext())
{
if(myEnumerator.Current.ToString().Substring(iStartIndex,iLength)==strElement)
return true;
}
return false;
}
#endregion
#region 把ArrayList转换为ArrayList数组
/// <summary>
/// 把ArrayList转换为ArrayList数组
/// </summary>
/// <param name="ary">要转换的ArrayList</param>
/// <returns>ArrayList []</returns>
public static ArrayList [] ConvertToArray(ArrayList ary)
{
ArrayList [] arylst =new ArrayList[ary.Count];
int i=0;
IEnumerator myEnumerator = ary.GetEnumerator();
while ( myEnumerator.MoveNext())
{
arylst[i]=(ArrayList)myEnumerator.Current;
i++;
}
return arylst;
}
#endregion
#region 以字符串形式返回ArrayList的每一个元素
/// <summary>
/// 以字符串形式返回ArrayList的每一个元素
/// </summary>
/// <param name="arylst">要输出的ArrayList</param>
/// <returns>返回字符串</returns>
public static string getArrayString(ArrayList arylst)
{
string strReturn="";
IEnumerator myEnumerator = arylst.GetEnumerator();
while ( myEnumerator.MoveNext())
{
strReturn+=myEnumerator.Current.ToString() + " ";
}
//Console.WriteLine(strReturn);
return strReturn.Trim();
}
#endregion
#region 检测字符串中是否每一个字符都是非终结符
/// <summary>
/// 检测字符串中是否每一个字符都是非终结符
/// </summary>
/// <param name="strProduct">要检测的字符串</param>
/// <returns>bool</returns>
public static bool IsAllNotEnd(string strProduct)
{
for(int i=0 ; i< strProduct.Length ; i++)
{
if(SymbolSet.getInstance().IsInNotEndSet(strProduct.Substring(i,1))==false)
{
return false;
}
}
return true;
}
#endregion
#region 检测多个ArrayList是否含有相同元素
/// <summary>
/// 检测多个ArrayList是否含有相同元素
/// </summary>
/// <param name="arylst">ArrayList的数组</param>
/// <returns>bool</returns>
public static bool hasSameElement(ArrayList []arylst)
{
ArrayList arylstTemp=new ArrayList();
for(int i=0 ; i<arylst.Length ; i++ )
{
IEnumerator myEnumerator = arylst[i].GetEnumerator();
while ( myEnumerator.MoveNext())
{
if(IsInList(myEnumerator.Current,arylstTemp))
return true;
else
arylstTemp.Add(myEnumerator.Current);
}
}
return false;
}
#endregion
#region 以字符串形式返回栈的所有元素从栈顶到栈低
/// <summary>
/// 以字符串形式返回栈的所有元素从栈顶到栈低
/// </summary>
/// <param name="stack">要处理的栈</param>
/// <returns>字符串</returns>
public static string getStackStringTB(Stack stack)
{
string strStack="";
IEnumerator myEnumerator = stack.GetEnumerator();
while ( myEnumerator.MoveNext() )
strStack+=myEnumerator.Current.ToString();
return strStack;
}
#endregion
#region 以字符串形式返回栈的所有元素从栈低到栈顶
/// <summary>
/// 以字符串形式返回栈的所有元素从栈低到栈顶
/// </summary>
/// <param name="stack">要处理的栈</param>
/// <returns>字符串</returns>
public static string getStackStringBT(Stack stack)
{
string strStack="";
IEnumerator myEnumerator = stack.GetEnumerator();
while ( myEnumerator.MoveNext() )
strStack=myEnumerator.Current.ToString() + strStack;
return strStack;
}
#endregion
#region 以字符串形式返回队列的所有元素
/// <summary>
/// 以字符串形式返回队列的所有元素
/// </summary>
/// <param name="stack">要处理的队列</param>
/// <returns>字符串</returns>
public static string getQueueString(Queue queue)
{
string strQueue="";
IEnumerator myEnumerator = queue.GetEnumerator();
while ( myEnumerator.MoveNext() )
strQueue+=myEnumerator.Current.ToString();
return strQueue;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -