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。。。)这里报错】
展开
 我来答
郏鸿祯C6
2013-07-18 · TA获得超过4549个赞
知道小有建树答主
回答量:1601
采纳率:50%
帮助的人:1199万
展开全部
            ArrayList chwords = new ArrayList();

            string[] chword =  this.splitresult.Lines;

            chwords.Add(chword); // 你这一句把整个string数组作为一个元素放进去了,所以这个ArrayList里面只有一个元素,类型为string[]

            foreach (string w in chwords)//你这里遍历的时候又指明string,所以不匹配,我认为你的本意并不是这样,因为这样没有任何意义,为什么不直接用chword呢
更多追问追答
追问
我是想把textbox(splitresult)里的东西存到集合里,对里面的元素进行修改(删掉字母元素和单个汉字的元素)
追答
我不关心你业务上的逻辑,你这个语法上的错误,我跟你说的你看了没有。
豆豆子灬
2013-07-18 · 超过24用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:33.9万
展开全部
如果想获得string[] chword的值,for(int=0;i<chword。length;i++)遍历chword[i],试一下
追问
能具体帮我改改吗?改的时候其他有报错了。。。。新手伤不起啊。。。。
追答
一样的嘛,你把chword[i],看成是一个值,chword[0]第一个值,chword[1]第二个值,定义个变量接收,然后下面的差不多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bluewater_52d1
2013-07-18 · TA获得超过256个赞
知道小有建树答主
回答量:798
采纳率:0%
帮助的人:197万
展开全部
chwords 的元素是 string[]类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
2013-07-18 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4387万
展开全部
我试了一下没有报错,VS2010.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式