怎么获得一个函数里的变量值啊!调用函数,return 吗?还是怎么办?

xingxing_ruby 2008-07-16 11:37:03
protected virtual void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz)
{
...
string wfList = string.Join(";", wfArr);
}


在另一个函数里调用wfList的值!
...全文
196 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingxing_ruby 2008-07-16
  • 打赏
  • 举报
回复
原函数最好不变。新创建一个函数,或是怎么直接调用呢?
在这个函数里调用
StringBuilder2.Replace("tt",this.AppendWF()); 将wfList 的值赋给tt !

atlasroben 2008-07-16
  • 打赏
  • 举报
回复
[code=c#]
protected string void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz)
{
...
string wfList = string.Join(";", wfArr);
return wfList ;
}
[/code]

第二
[code=c#]
protected string void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz,out string strText)
{
...
string wfList = string.Join(";", wfArr);
strText = "yes";
return wfList ;
}
[/code]
其中传入的参数的strText在执行完AppendWF方法以后值为yes
Lateen 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 atlasroben 的回复:]
2种方法,第一就是你return就行了
第二如果你返回了多个函数你就要out 或者ref来得到
[/Quote]
  • 打赏
  • 举报
回复
return 即可
summercat 2008-07-16
  • 打赏
  • 举报
回复
1、在最开始声明为公用变量

public string wfList;

protected virtual void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz)
{
...
wfList = string.Join(";", wfArr);
}


2、方法输出这个值

protected virtual void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz,out string wfList )
{
wfList="";
...
wfList = string.Join(";", wfArr);
}


调用时

string wflist;
AppendWF(a,b,c,out wflist);

nattystyle 2008-07-16
  • 打赏
  • 举报
回复
string wfList;
protected virtual void AppendWF(StringBuilder sbPrint, StringBuilder sbShow, string wfdz)
{
...
wfList = string.Join(";", wfArr);
}
atlasroben 2008-07-16
  • 打赏
  • 举报
回复
2种方法,第一就是你return就行了
第二如果你返回了多个函数你就要out 或者ref来得到
xingxing_ruby 2008-07-16
  • 打赏
  • 举报
回复
全局变量是可以,但是没有函数,它不执行!这个原因,其实也挺有意思答!哈哈!
xingxing_ruby 2008-07-16
  • 打赏
  • 举报
回复
搞定了!新编了一个函数,用了一个return .out 还挺复杂的,在我这里!
aaajedll 2008-07-16
  • 打赏
  • 举报
回复
學習
atlasroben 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xingxing_ruby 的回复:]
可是我开始的时候声明了全局变量,说要重写一个函数啊!
[/Quote]
如果你申明了全局string wfList;
以后你仅需要将方法体中的string wfList = string.Join(";", wfArr);
改为
wfList = string.Join(";", wfArr);
不知道这样的变动你能不能接受
HolyPlace 2008-07-16
  • 打赏
  • 举报
回复
使用out 或者 ref 吧!
xingxing_ruby 2008-07-16
  • 打赏
  • 举报
回复
可是我开始的时候声明了全局变量,说要重写一个函数啊!
atlasroben 2008-07-16
  • 打赏
  • 举报
回复
唉,我技术不行,就我看来你这样的需求是不好实现的
在.net里面有一个程序域的概念
你的wfList 仅在他能作用的域中起作用,也就是说他仅在方法体AppendWF内部存在
如果你需要从外部访问他那么你就必须让wfList 的作用域超出方法体
如:将其声明为全局变量
将其返回
将其作为引用传入然后改变内容后外部访问该地址
所以...如果你想不改变函数而达到效果的话貌似不现实= =#,

110,010

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧