如何在 void C# 中 return bool
how to return bool in void C#
所以我是 C# 的新手,我在创建我自己的“语言”(基本上它需要我的语言并将其转换为 C# 然后编译)我正在编写一个函数来检查是否有东西在string 与否,我遇到了错误 CS0127。我在互联网上做了一些冲浪,但找不到有效的解决方案。这是我的代码。
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
// return false
}
}
我正在积极努力,所以当您阅读本文时,情况可能已经改变。
如果你想 'return ' 从一个函数中得到一个布尔值,有几种方法
最明显的是
bool CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
return false
}
return true;
}
像这样使用
如果(!CheckQuote(“a”,“b”))
// 错误案例
如果由于某种原因该方法必须无效(为什么),您可以这样做
void CheckQuote(string item, string line, out bool result)
{
if (!line.Contains(item))
{
result = false
} else{
result = false;
}
那就这样称呼吧
bool check;
CheckQuote("a", "b", out check);
if(!check)
// error case
一种更复杂的方式
public class Checker{
bool Result {get;set;}
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
Result = false;
} else{
Result = true;
}
}
}
像这样使用
Checker check = new Checker();
check.CheckQuote("a","b");
if(!check.Result)
// error case
但那太过分了
您可以通过将结果存储在 public static 属性 中并在调用“void”方法后读取其值来实现,例如:
public static class TestClass
{
public static bool PublicProperty { get; set; }
}
所以在你的“无效”方法中你需要像这样存储值:
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
// return false
TestClass.PublicProperty = false;
}
}
调用“void”方法后,您可以像这样读取 属性 值:
var someVariable = TestClass.PublicProperty;
但这不实用
不要使用 void 而是将其用作布尔方法
bool CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
return false
}
return true;
}
所以我是 C# 的新手,我在创建我自己的“语言”(基本上它需要我的语言并将其转换为 C# 然后编译)我正在编写一个函数来检查是否有东西在string 与否,我遇到了错误 CS0127。我在互联网上做了一些冲浪,但找不到有效的解决方案。这是我的代码。
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
// return false
}
}
我正在积极努力,所以当您阅读本文时,情况可能已经改变。
如果你想 'return ' 从一个函数中得到一个布尔值,有几种方法
最明显的是
bool CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
return false
}
return true;
}
像这样使用 如果(!CheckQuote(“a”,“b”)) // 错误案例
如果由于某种原因该方法必须无效(为什么),您可以这样做
void CheckQuote(string item, string line, out bool result)
{
if (!line.Contains(item))
{
result = false
} else{
result = false;
}
那就这样称呼吧
bool check;
CheckQuote("a", "b", out check);
if(!check)
// error case
一种更复杂的方式
public class Checker{
bool Result {get;set;}
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
Result = false;
} else{
Result = true;
}
}
}
像这样使用
Checker check = new Checker();
check.CheckQuote("a","b");
if(!check.Result)
// error case
但那太过分了
您可以通过将结果存储在 public static 属性 中并在调用“void”方法后读取其值来实现,例如:
public static class TestClass
{
public static bool PublicProperty { get; set; }
}
所以在你的“无效”方法中你需要像这样存储值:
void CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
// return false
TestClass.PublicProperty = false;
}
}
调用“void”方法后,您可以像这样读取 属性 值:
var someVariable = TestClass.PublicProperty;
但这不实用 不要使用 void 而是将其用作布尔方法
bool CheckQuote(string item, string line)
{
if (!line.Contains(item))
{
return false
}
return true;
}