猿问

克服每个循环的无效错误

下面是我正在处理的代码的一部分,执行时出现以下错误。


'不能将类型 void 隐式转换为字符串'。


我该如何解决?


private static void Main(string[] args)

{

    string[] strArray = new string[n];

    int i = 0;


    foreach (example)

    {

        if (condition 1)

        {

            strArray[i] = output;

        }

        if (condition 2)

        {

            strArray[i] = output;

        }

        if (condition 3)

        {

            strArray[i] = output;

        }

        i = i + 1;

    }

}


炎炎设计
浏览 181回答 3
3回答

拉风的咖菲猫

当我向你展示代码时private static void Main(string[] args){    string[] strArray = new string[n];    int i = 0;    foreach (example)    {        if (condition 1)        {            strArray[i] = output;        }        if (condition 2)        {            strArray[i] = output;        }        if (condition 3)        {            strArray[i] = output;        }        i = i + 1;    }}进入 .net 小提琴,我得到:Compilation error (line 1, col 16): Expected class, delegate, enum, interface, or structCompilation error (line 1, col 33): Identifier expectedCompilation error (line 1, col 35): Expected class, delegate, enum, interface, or structCompilation error (line 3, col 12): Identifier expectedCompilation error (line 3, col 14): Expected class, delegate, enum, interface, or structCompilation error (line 3, col 29): Expected class, delegate, enum, interface, or structCompilation error (line 3, col 38): Expected class, delegate, enum, interface, or structCompilation error (line 10, col 25): Expected class, delegate, enum, interface, or structCompilation error (line 11, col 9): Type or namespace definition, or end-of-file expected围绕它public class MyClass{    // your code}留给我Compilation error (line 8, col 21): Identifier expectedCompilation error (line 8, col 22): ) expectedCompilation error (line 10, col 23): ) expectedCompilation error (line 10, col 24): ; expectedCompilation error (line 10, col 24): Invalid expression term ')'Compilation error (line 10, col 25): ; expectedCompilation error (line 14, col 23): ) expectedCompilation error (line 14, col 24): ; expectedCompilation error (line 14, col 24): Invalid expression term ')'Compilation error (line 14, col 25): ; expectedCompilation error (line 18, col 23): ) expectedCompilation error (line 18, col 24): ; expectedCompilation error (line 18, col 24): Invalid expression term ')'Compilation error (line 18, col 25): ; expected修复丢失的n和foreach到string[] strArray = new string[10];int i = 0;var data = new [] {"1","2","3","4"};foreach (var example in data){     // your inner code}留给我Compilation error (line 11, col 23): ) expectedCompilation error (line 11, col 24): ; expectedCompilation error (line 11, col 24): Invalid expression term ')'Compilation error (line 11, col 25): ; expectedCompilation error (line 15, col 23): ) expectedCompilation error (line 15, col 24): ; expectedCompilation error (line 15, col 24): Invalid expression term ')'Compilation error (line 15, col 25): ; expectedCompilation error (line 19, col 23): ) expectedCompilation error (line 19, col 24): ; expectedCompilation error (line 19, col 24): Invalid expression term ')'Compilation error (line 19, col 25): ; expected修复内部条件    if (i==1)    {        strArray[i] = "There is";    }    if (i==2)    {        strArray[i] = "is no";    }    if (i==3)    {        strArray[i] = "no spoon.";    }    i = i + 1;导致缺少公共静态 Main,修复导致public class MyClass{    public static void Main(string[] args)    {        string[] strArray = new string[10];        int i = 0;        var data = new[]{"1", "2", "3", "4"};        foreach (var example in data)        {            if (i == 1)            {                strArray[i] = "There is";            }            if (i == 2)            {                strArray[i] = "is no";            }            if (i == 3)            {                strArray[i] = "no spoon.";            }            i = i + 1;        }    }}一个运行没有错误的程序。在此过程中没有任何地方弹出您的错误消息。

MYYA

如果输出是一个返回类型为 void 的函数,则不能将其值赋给 strArray[i]。在每种情况下,确保函数的返回值不为空。此外,问题可能在于使用foreach,因此将其替换为 for循环,因为更改foreach的枚举器可能会产生问题。

慕哥9229398

尝试删除 void 类型或 string[] argsinsideMain(string[] args)也(不是另一种解决方案)但是如果你必须把它改进if(condtion==1){...}if(condtion==2){...}if(condtion==3){...}等等更好的做法是将其替换为 Switch,这样您的程序就不会在每次调用方法时检查大量 if
随时随地看视频慕课网APP
我要回答