请高手帮我看看这个程序的错误的地方怎么改
private void Form1_TextChanged(object sender, EventArgs e)
{
string[] strArray = new string[] { "XXXX", "XXX", "XXXX", "XXXX" };
if (textBox1.Text != string.Empty)
{
string[] strTemp = Array.FindAll<string>( strArray, Predicate<string> strArray[i].Contains(textBox1.Text)); if (strTemp.Length > 0)
{
textBox2.Clear();
foreach (string s in strTemp)
{
textBox2.Text += s + Environment.NewLine;
}
}
else
{
textBox2.Clear();
textBox2.Text = "没有找到记录";
}
}
else
{
textBox2.Clear();
}
}
首先我先说下程序要实现的结果:就是在textbox1里输入字符,如果数组里有包含textbox1.text的就显示在textbox2里
这段程序一直提示-----无效的表达式项“string”,就是红色的这一句,这句的格式是我在msdn上找的,为什么会出错呢,哪位帮忙解释一下,应该怎么改;
下面附上msdn里Array的FindAll方法的格式:
public static T[] FindAll<T>(
T[] array,
Predicate<T> match
)
类型参数
T
数组元素的类型。
参数
array类型:T()
要搜索的从零开始的一维 Array。
match类型:System.Predicate(Of T)
Predicate(Of T),定义要搜索的元素的条件。
返回值
类型:T()
如果找到一个其中所有元素均与指定谓词定义的条件匹配的 Array,则为该数组;否则为一个空 Array。
------解决方案--------------------string[] strTemp = Array.FindAll<string>( strArray => strArray[i].Contains(textBox1.Text));
------解决方案--------------------
C# code
string[] strTemp = Array.FindAll<string>(strArray, str => str.Contains(textBox1.Text));