【问题标题】:Extracting string variable from a bool function c# [closed]从布尔函数c#中提取字符串变量[关闭]
【发布时间】:2020-10-10 06:55:59
【问题描述】:

所以在这里我想知道是否可以提取在 bool 函数中创建的字符串变量,底部代码只是简化如下:

public string string_value = "";
public string first_wafer = "";

string_value = Wafer_value(out first_wafer);//know this won't work because cannot convert string to bool

 public static bool Wafer_value( out string first_wafer)
        {
            try
            {            
                first_wafer = "string that I want to extract";   
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                first_wafer = null;
                return false;
            }
            return true;

        }//End Function Wafer_value

所以我要做的是将 first_wafer 提取到 string_value 中。我想在 Wafer_value 返回布尔值的情况下这样做的原因是,我可以稍后处理错误处理,这样更容易处理,因为我可以使用 true 或 false 作为值。

我知道为此我需要使用 ref 和 out,但我不确定如何实现它,因此它会提取变量。

【问题讨论】:

  • 如果您使用“out”(或“ref”),您传递给函数的字符串“first_wafer”将在函数调用之后获得您想要的提取字符串。
  • 不清楚你在问什么,任何回答这个问题的尝试都是一个疯狂的猜测,请更具体
  • 您正在尝试将布尔值分配给字符串变量。如果要将其转换为字符串,只需执行YourBooleanFunction().ToString()。除此之外,我不知道您要做什么。
  • 这个问题很不清楚。我几乎无法说出你在问什么。另外,您是否知道您可以调用该函数并声明 out 变量并使用 if (Wafer_value(out string string_value)) { ... } 一次性检查成功/失败

标签: c# string error-handling boolean-expression


【解决方案1】:

函数本身返回 bool,但您正在修改函数中的 first_wafer 值。 你唯一需要做的就是给它分配string_value

var isWafer = Wafer_value(out first_wafer); //return boolean
string_value = first_wafer; //assign string

在这种情况下,isWafer 是bool

一些简单的fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 2015-10-04
    • 2017-08-13
    相关资源
    最近更新 更多