我有string[] a={11,12,23,4d,ed}
string[] b={.....}
.....
string[] n={..}如何定位某个字符传(比方说4d)在哪个string[]里面试过循环的方式了,很慢,,,
string[] b={.....}
.....
string[] n={..}如何定位某个字符传(比方说4d)在哪个string[]里面试过循环的方式了,很慢,,,
解决方案 »
- 问下,,下面这个符号什么意思啊? 是不是.NET 4.0的啊?
- BYTE[]数组里的是存的十进制,如何转换成十六进制?
- c#应用程序的安装和部署
- C# post问题!希望大家能帮帮忙!【WebClient类的】
- 请教各位高手,谁能给解释一下这段代码吗?
- 请问vs2003里面的水晶报表工具怎么自定义函数??
- frame里如何重定向到另一个地址并跳出frame
- 请问哪位高手有没有用手机短信控制自已电脑的代码啊?
- 字符串 23.00 如何转换成整数。我试过直接用convert.toint32不成功
- 关于DataGrid的问题--在线等待
- 原因分析及解决方案:执行一次数据需要半个多小时????????
- 疑难问题,希望得到帮助,大便帮助
二楼的是一种解决办法
string str = ...;
string[] arra = new string[]{...};
for(int i = 0;i<arra.Length;i++)
{
if(i >= arra.Length/2+1)
break;
if(arra[i] == str)
return true;
if(arra[100-i+1] = str)
return true;
}
return false;
return true;
->
if(arra[arra.Length-i+1] = str)
return true;
string[] arra = new string[]{"a2","d5",...};
bool bl = StrInArra(str,arra);如果问为n段,那么这样:
public bool StrInArra(string str,string[] arra)
{
int iLoop = arra.Length/n+1;
for(int i = 0;i<iLoop;i++)
{
if(arra[i] == str)
return true;
if(arra[iLoop+i] == str)
return true;
if(arra[iLoop*2+i] == str)
return true;
if(iLoop*(n-1)+i < arra.Length && arra[iLoop*(n-1)+i] == str)
return true;
}
return false;
}
//把n换成你自己的数字,也可以根据具体需要来设定该数字。
public bool StrInArra(string str,string[] arra)
{
int iLoop = arra.Length/n+1;
for(int i = 0;i<iLoop;i++)
{
if(arra[i] == str||
arra[iLoop+i] == str||
arra[iLoop*2+i] == str||
...
(iLoop*(n-1)+i < arra.Length && arra[iLoop*(n-1)+i] == str)
)
return true;
}
return false;
}
CheckValue(b, "ed");----------------------------调用------------------
/// <summary>
///
/// </summary>
/// <param name="str">目标string[]</param>
/// <param name="findstr">查找的字符串</param>
private void CheckValue(string[] str, string findstr) {
try { ArrayList alTmp = new ArrayList();
for(int i=0; i<str.Length; i++) {
alTmp.Add(str[i]);
}
if(alTmp.Contains(findstr)) {
MessageBox.Show("OK");
} else {
MessageBox.Show("Sorry");
}
} catch(Exception ex) {MessageBox.Show(ex.Message);}
}