c#:出现在foreach循环上的错误

时间:2015-02-10 07:32:28

标签: c# asp.net

我收到此课程的错误消息。它说不能将'char'类型转换为“string”。

这是项目主要的代码:

protected void Page_Load(object sender, EventArgs e)
        {
            translate t = new translate();
            string txt = TextBox1.Text;
            string[] split = txt.Split(new Char[] { ' ', ',', '.', ':', '\t' });

            foreach (string s in split)
            {

                if (s.Trim() != " ")
                    Label1.Text += s +"\n";
                t.makeWrd(s);   
            }

        }

这是类代码 类: public string [] word;

    public string makeWrd(string word)
    {

         var d = new Dictionary<string, string>()
        {{"blue","biru"},
        {"red","merah"},
        {"green","hijau"},
        {"purple","gadung"}
        };
        foreach(string val in word) //<---the error appears here
        {
            string ja;
            if(d.TryGetValue(val, out ja))
            {
                return ja;
            }
        }

    }

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您正在迭代word中的每个字符。因此你得到的错误。

foreach似乎没有目的。尝试删除它。

public string makeWrd(string word)
{

     var d = new Dictionary<string, string>()
    {{"blue","biru"},
    {"red","merah"},
    {"green","hijau"},
    {"purple","gadung"}
    };

    string ja;
    if(d.TryGetValue(word, out ja))
    {
        return ja;
    }

}

此外,if (s.Trim()!= " ")始终为true。您的意思是使用!string.IsNullOrWhiteSpace(s))吗?