c# 无法将类型为"System.String[]"的对象强制转换为类型"System.String"
ArrayListchwords=newArrayList();string[]chword=this.splitresult.Lines;chwords.Add(chw...
ArrayList chwords = new ArrayList();
string[] chword = this.splitresult.Lines;
chwords.Add(chword);
foreach (string w in chwords)
{
Regex regEnglish = new Regex("^[a-zA-Z]");
int i = 0;
i++;
if (w.Length < 2 || regEnglish.IsMatch(w))
{
chwords.RemoveAt(i);
}
else
{
words.Text += w + '\r' + '\n';
}
}
【foreach(string w。。。)这里报错】 展开
string[] chword = this.splitresult.Lines;
chwords.Add(chword);
foreach (string w in chwords)
{
Regex regEnglish = new Regex("^[a-zA-Z]");
int i = 0;
i++;
if (w.Length < 2 || regEnglish.IsMatch(w))
{
chwords.RemoveAt(i);
}
else
{
words.Text += w + '\r' + '\n';
}
}
【foreach(string w。。。)这里报错】 展开
4个回答
展开全部
ArrayList chwords = new ArrayList();
string[] chword = this.splitresult.Lines;
chwords.Add(chword); // 你这一句把整个string数组作为一个元素放进去了,所以这个ArrayList里面只有一个元素,类型为string[]
foreach (string w in chwords)//你这里遍历的时候又指明string,所以不匹配,我认为你的本意并不是这样,因为这样没有任何意义,为什么不直接用chword呢
更多追问追答
追问
我是想把textbox(splitresult)里的东西存到集合里,对里面的元素进行修改(删掉字母元素和单个汉字的元素)
追答
我不关心你业务上的逻辑,你这个语法上的错误,我跟你说的你看了没有。
展开全部
如果想获得string[] chword的值,for(int=0;i<chword。length;i++)遍历chword[i],试一下
追问
能具体帮我改改吗?改的时候其他有报错了。。。。新手伤不起啊。。。。
追答
一样的嘛,你把chword[i],看成是一个值,chword[0]第一个值,chword[1]第二个值,定义个变量接收,然后下面的差不多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chwords 的元素是 string[]类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试了一下没有报错,VS2010.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询