C#从另一个空返回一个字符串
本文关键字:一个 字符串 另一个 返回 | 更新日期: 2023-09-27 17:58:48
我确信这是一个简单的过程。我只是想从另一个空位返回一个字符串。
public static void LinkWorker(string baseURLString)
{
// do some stuff here
HTMLWork(baseURLStringCycle)
--> this is where i need xstring returned
foreach(string xyString in xstring.split(''n'))
{
}
}
public static void HTMLWork(string baseURLStringCycle)
{
//do HTML work here
// create x string
string xString = ; //the result of the htmlwork
}
您不想要void
方法,您想要返回类型string
的方法。
public static string HTMLWork(string baseURLStringCycle)
{
//...
return xString;
}
由于void方法是一个void方法,因此无法在void方法中返回值。但是有两种方法可以实现相同的结果。
- 使用全局变量,该变量在两种方法中都可以访问。然后,在HTMLWork方法中设置全局变量,并在LinkWorker的方法中访问相同的变量
- 通过引用将变量从LinkWorker传递到HTMLWork。由于变量是通过引用传递的,HTMLWork中所做的更改将对LinkWorker可见
不能从void函数返回字符串。
public static void LinkWorker(string baseURLString)
{
// do some stuff here
string xstring=HTMLWork(baseURLStringCycle)
foreach(string xyString in xstring.split(''n'))
{
}
public static string HTMLWork(string baseURLStringCycle) //use string instead of void
{
//do HTML work here
// create x string
string xString = ; //the result of the htmlwork
return xString;
}
如果要使用Void方法,则应使用Out关键字或传入Reference。
例如
public static void HTMLWork(string baseUrlStringCyle, out XResult)
{
string xString = "result";
}
为什么不返回字符串而不是void?
Anthony的答案是您的最佳选择。
也可以使用"out"参数为字符串赋值。但当可能直接从方法返回时,不应使用此方法
例如:
public static void HTMLWork(string baseURLStringCycle, out returnString)
{
returnString = "returned string";
}
最简单但显然不是最好的方法是将xString设置为global
变量。
除此之外,除非你可以选择更改HTMLWork方法,否则我没有选择。
如果不想更改函数签名并保留此void,则可以使用字符串作为参数,并在HTMLWork函数中更改此值。C#将对象作为引用传递,这样技巧就完成了。