在C#中,StringBuilder类型的变量,如果需要引用传递参数,需要加ref或者out吗?
解决方案 »
- 使用Xml中的SelectNode和SelectSingleNode的发现
- zedgraph可以用在wpf中吗?
- 一个c#菜鸟的问题,关于FileStream,望高手回答~~~
- 请问有关在另一个类中调用控件的方法的问题
- 有什么办法在界面上画线,vs2005 c#界面
- 有没有研究asp.net forums论坛的朋友啊?请教两个问题啊?
- FolderBrowserDialog()、OpenFileDialog()的问题
- Session问题~~~~我已经没辙了~~~~
- 我在程序中使用了AxMediaPlayer 可是我想改变这个控件的颜色而不是背景是黑色的??
- Visual Studio .NET Enterprise哪儿有下??支持断点!!!!!
- 如何比较两个类名和成员名不同的类,实际上相同的类?
- 求c#实现使用Tcp/Ip下载示例
{
sb.Append("---------");
}
比如:DataTable table=dal.GetTable(int UserID);
public DoTable1(DataTable table){
}public DoTable2(ref DataTable table){
}//建议选择方式2,为什么呢,方式2很直观也很明确的告诉你了,ref可能在方法体内修改了DataTable的
//值,方式一的话需要你理解C#的引用传递才知道DataTable的值被改了。
//都使用ref方便后期维护的,一眼就看出来了。
如果不加ref,函数还是可以把引用指向另外一个对象public void Test(DataTable table){
table=new DataTable();
}
public void Test(int i)
{
i = 4; //难道不加ref就不能改变形参的值了么?只是这个更改不会影响到调用者。
}
table=new DataTable();
}public void Test(ref DataTable table){
table=new DataTable();
}到底有没有什么影响啊,
有的话,影响在哪里啊
int i=3;
b(ref i);
c(out i);
}
void b(ref i){ //在这里会将i的只也传递过来所以i为1
i=i+1; //i=1+1;i=2
}
void c(out i){//由于out不会传值
i=i+1; //所以系统会提示i没有赋初值,无法使用,报错
}