Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中正确使用函数返回#_C#_.net_Return_Return Value - Fatal编程技术网

C# 如何在c中正确使用函数返回#

C# 如何在c中正确使用函数返回#,c#,.net,return,return-value,C#,.net,Return,Return Value,我想从函数中返回一个变量 我的需要是我想拆分一个句子,检查一个特定的关键字是否存在。如果存在,它应该返回buy else sell private string FindDirection(string Order) { string direction; string[] splitText = Order.Split(' '); foreach (string s in splitText) {

我想从函数中返回一个变量

我的需要是我想拆分一个句子,检查一个特定的关键字是否存在。如果存在,它应该返回buy else sell

private string FindDirection(string Order)
    {
        string direction;
        string[] splitText = Order.Split(' ');
        foreach (string s in splitText)
        {
            if (Convert.Contains(s))
            {
                direction = "B";
            }
            else
            {
                direction = "S"; 
            }
            return direction;
        }

        return null;
    }
我想从函数返回方向。若我并没有将return设置为null,那个么它将显示错误。如果我将返回方向而不是返回null,则会显示“

未赋值变量的使用“


我是新来的,如果您对我的代码和样式有任何建议,请告诉我。

在您的代码示例中,您总是很早从循环返回,只循环splitText中的第一个字符串

将return放在函数的末尾,允许循环遍历其所有元素

private string FindDirection(string singleOrder)
{
    string direction = "SELL";
    string[] splitText = singleOrder.Split(' ');

    foreach (string s in splitText)
    {
        if (strConvert.Contains(s))
        {
            direction = "BUY";
            break;
        }
    }

    return direction;
}
对于“买”和“卖”,最好使用枚举而不是字符串


考虑以下情况:输入一个空字符串,循环甚至不会执行一次。那么
direction
的值是多少?此函数可能不符合您的要求。问题是,你从来没有告诉我们你想要它做什么。请用通俗易懂的英语告诉我们您希望这个函数做什么,并给我们一些示例值(输入、预期输出)。@john编译器不知道在运行时会发生什么。您声明了“null”或
字符串。空的
可能是一个输入值,表示它是
字符串
,因此编译器必须弄清楚如果它是其中之一应该发生什么。再次声明:我现在只能看到您的代码做了什么,我确信它不是您想要的。既然您还没有告诉我们您希望代码做什么,最好是使用示例输入和输出,我们真的无法为您做任何事情。@HansKesting谢谢。我添加了以下行if(string.IsNullOrEmpty(singleOrder)){//code here}x。看起来可能有用